Skip to content

Instantly share code, notes, and snippets.

@ammarfaizi2
Created July 3, 2019 12:59
Show Gist options
  • Save ammarfaizi2/a50da84bad556e3f003a59729c32f4e0 to your computer and use it in GitHub Desktop.
Save ammarfaizi2/a50da84bad556e3f003a59729c32f4e0 to your computer and use it in GitHub Desktop.
undefined8
FUN_00376c74(undefined8 *param_1,void *param_2,size_t param_3,void *param_4,size_t param_5,
longlong param_6)
{
undefined auVar1 [16];
undefined auVar2 [16];
undefined auVar3 [16];
undefined auVar4 [16];
void *pvVar5;
undefined8 *__dest;
pvVar5 = operator.new[](param_3 + 0x40);
*(void **)(param_1 + 0x2f) = pvVar5;
__dest = param_1 + 0x10;
*__dest = 0;
param_1[6] = 0x3636363636363636;
param_1[7] = 0x3636363636363636;
param_1[4] = 0x3636363636363636;
param_1[5] = 0x3636363636363636;
param_1[2] = 0x3636363636363636;
param_1[3] = 0x3636363636363636;
*param_1 = 0x3636363636363636;
param_1[1] = 0x3636363636363636;
param_1[0x16] = 0;
param_1[0x17] = 0;
param_1[0x14] = 0;
param_1[0x15] = 0;
param_1[0x12] = 0;
param_1[0x13] = 0;
param_1[0x11] = 0;
param_1[8] = 0x5c5c5c5c5c5c5c5c;
param_1[0xe] = 0x5c5c5c5c5c5c5c5c;
param_1[0xf] = 0x5c5c5c5c5c5c5c5c;
param_1[0xc] = 0x5c5c5c5c5c5c5c5c;
param_1[0xd] = 0x5c5c5c5c5c5c5c5c;
param_1[10] = 0x5c5c5c5c5c5c5c5c;
param_1[0xb] = 0x5c5c5c5c5c5c5c5c;
param_1[9] = 0x5c5c5c5c5c5c5c5c;
if ((int)param_5 < 0x41) {
memcpy(__dest,param_4,param_5);
}
else {
FUN_00377a34((longlong)param_4,param_5,(longlong)__dest);
}
/* WARNING: Load size is inaccurate */
/* WARNING: Load size is inaccurate */
/* WARNING: Load size is inaccurate */
/* WARNING: Load size is inaccurate */
__dest = (undefined8 *)param_1[0x2f];
auVar1 = SIMD_INT_XOR(*(undefined *)param_1,*(undefined *)(param_1 + 0x10),1);
auVar2 = SIMD_INT_XOR(*(undefined *)(param_1 + 2),*(undefined *)(param_1 + 0x12),1);
auVar3 = SIMD_INT_XOR(*(undefined *)(param_1 + 6),*(undefined *)(param_1 + 0x16),1);
param_1[7] = SUB328(ZEXT1632(auVar3) >> 0x40,0);
param_1[6] = SUB168(auVar3,0);
param_1[1] = SUB328(ZEXT1632(auVar1) >> 0x40,0);
*param_1 = SUB168(auVar1,0);
param_1[3] = SUB328(ZEXT1632(auVar2) >> 0x40,0);
param_1[2] = SUB168(auVar2,0);
/* WARNING: Load size is inaccurate */
auVar2 = *(undefined *)(param_1 + 6);
auVar1 = SIMD_INT_XOR(*(undefined *)(param_1 + 4),*(undefined *)(param_1 + 0x14),1);
param_1[5] = SUB328(ZEXT1632(auVar1) >> 0x40,0);
param_1[4] = SUB168(auVar1,0);
__dest[7] = SUB328(ZEXT1632(auVar2) >> 0x40,0);
__dest[6] = SUB168(auVar2,0);
/* WARNING: Load size is inaccurate */
auVar1 = *(undefined *)(param_1 + 4);
__dest[5] = SUB328(ZEXT1632(auVar1) >> 0x40,0);
__dest[4] = SUB168(auVar1,0);
/* WARNING: Load size is inaccurate */
auVar1 = *(undefined *)(param_1 + 2);
__dest[3] = SUB328(ZEXT1632(auVar1) >> 0x40,0);
__dest[2] = SUB168(auVar1,0);
/* WARNING: Load size is inaccurate */
auVar1 = *(undefined *)param_1;
__dest[1] = SUB328(ZEXT1632(auVar1) >> 0x40,0);
*__dest = SUB168(auVar1,0);
memcpy((void *)(param_1[0x2f] + 0x40),param_2,param_3);
FUN_00377a34(param_1[0x2f],param_3 + 0x40,(longlong)(param_1 + 0x18));
/* WARNING: Load size is inaccurate */
/* WARNING: Load size is inaccurate */
/* WARNING: Load size is inaccurate */
/* WARNING: Load size is inaccurate */
auVar1 = SIMD_INT_XOR(*(undefined *)(param_1 + 8),*(undefined *)(param_1 + 0x10),1);
auVar2 = SIMD_INT_XOR(*(undefined *)(param_1 + 10),*(undefined *)(param_1 + 0x12),1);
auVar3 = SIMD_INT_XOR(*(undefined *)(param_1 + 0xc),*(undefined *)(param_1 + 0x14),1);
auVar4 = SIMD_INT_XOR(*(undefined *)(param_1 + 0xe),*(undefined *)(param_1 + 0x16),1);
param_1[9] = SUB328(ZEXT1632(auVar1) >> 0x40,0);
param_1[8] = SUB168(auVar1,0);
param_1[0xb] = SUB328(ZEXT1632(auVar2) >> 0x40,0);
param_1[10] = SUB168(auVar2,0);
param_1[0xd] = SUB328(ZEXT1632(auVar3) >> 0x40,0);
param_1[0xc] = SUB168(auVar3,0);
param_1[0xf] = SUB328(ZEXT1632(auVar4) >> 0x40,0);
param_1[0xe] = SUB168(auVar4,0);
/* WARNING: Load size is inaccurate */
/* WARNING: Load size is inaccurate */
param_1[0x29] = SUB328(ZEXT1632(*(undefined *)(param_1 + 0xe)) >> 0x40,0);
param_1[0x28] = SUB168(*(undefined *)(param_1 + 0xe),0);
/* WARNING: Load size is inaccurate */
param_1[0x27] = SUB328(ZEXT1632(*(undefined *)(param_1 + 0xc)) >> 0x40,0);
param_1[0x26] = SUB168(*(undefined *)(param_1 + 0xc),0);
/* WARNING: Load size is inaccurate */
param_1[0x25] = SUB328(ZEXT1632(*(undefined *)(param_1 + 10)) >> 0x40,0);
param_1[0x24] = SUB168(*(undefined *)(param_1 + 10),0);
/* WARNING: Load size is inaccurate */
auVar1 = *(undefined *)(param_1 + 8);
*(undefined4 *)(param_1 + 0x2c) = *(undefined4 *)(param_1 + 0x1a);
param_1[0x2b] = SUB328(ZEXT1632(*(undefined *)(param_1 + 0x18)) >> 0x40,0);
param_1[0x2a] = SUB168(*(undefined *)(param_1 + 0x18),0);
param_1[0x23] = SUB328(ZEXT1632(auVar1) >> 0x40,0);
param_1[0x22] = SUB168(auVar1,0);
FUN_00377a34((longlong)(param_1 + 0x22),0x54,param_6);
return 1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment