void __fastcall HalpExtractGenericErrorData(__int64 a1){
__int64 v1;
__int64 v3;
UINT64 v4;
UINT8 *v5;
v1 = *(_QWORD *)(a1 + 56);
v3 = *(_QWORD *)(a1 + 24);
v4 = *(unsigned int *)(a1 + 48);
v5 = (UINT8 *)(v3 + *(unsigned int *)(v3 + 64));
*(_DWORD *)(v3 + 20) = *(_DWORD *)(v1 + 16);
memmove(v5, (UINT8 *)v1, v4);
if( *(_DWORD *)(a1 + 96) == 12 && !*(_DWORD *)(v3 + 20) && !*(_QWORD *)(v3 + 48) )
*(_QWORD *)(v3 + 48) = v3;
}