Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned int __cdecl sub_10EDE10(int a1, int a2, int a3)
- {
- int v3; // ebx
- unsigned __int16 v4; // ax
- int v5; // edx
- int v6; // esi
- int v7; // ecx
- signed int v8; // eax
- int v9; // edx
- int v10; // edi
- int v11; // edx
- unsigned int v12; // ecx
- unsigned int v13; // ST1C_4
- unsigned int v14; // ecx
- int v15; // edi
- int v16; // eax
- int v17; // ecx
- unsigned int result; // eax
- int v19; // [esp+4h] [ebp-10h]
- int v20; // [esp+10h] [ebp-4h]
- int savedregs; // [esp+14h] [ebp+0h]
- int v22; // [esp+1Ch] [ebp+8h]
- v3 = a1;
- ++*(_WORD *)(v3 + 52);
- v4 = *(_WORD *)(a1 + 52);
- if ( v4 >= 0xC8u )
- {
- if ( v4 == 200 )
- sub_10EF200(a1, (char *)&unk_2B959A8 - 5992704);
- if ( v4 >= 0xE1u )
- sub_10EE920(a1, 5);
- }
- if ( *(_BYTE *)(a1 + *(_DWORD *)(a1 + 12) + 12) )
- {
- if ( !sub_147C690(a1, a2, a3) )
- sub_14784A0((int)&savedregs, (_DWORD *)a1, 1);
- }
- else if ( !sub_10EE3B0(a1, a2, a3) )
- {
- v5 = ***(_DWORD ***)(a1 + 16) + 20 - *(_DWORD *)(***(_DWORD ***)(a1 + 16) + 20);
- v19 = v5;
- v6 = *(_DWORD *)(v5 + 40);
- v22 = (a1 + *(_DWORD *)(a1 + 12) + 44) ^ *(_DWORD *)(a1 + *(_DWORD *)(a1 + 12) + 44);
- v7 = *(unsigned __int8 *)(v5 + 80)
- + ((*(unsigned __int8 *)(v5 + 83) + ((*(unsigned __int8 *)(v5 + 82) + (*(unsigned __int8 *)(v5 + 81) << 8)) << 8)) << 8);
- v8 = *(_DWORD *)(v5 + 52);
- v9 = *(_DWORD *)(v5 + 60);
- v10 = -1395309893 * v6 - 1838748549 * v7 - 1993746777 * v9 - 1125194579 * v8;
- v20 = -1395309893 * v6 - 1838748549 * v7 - 1993746777 * v9 - 1125194579 * v8;
- v11 = 476035360 * v6 + -2088292391 * v7 - 706264423 * v8 + 1546808719 * v9;
- if ( v8 <= 8 )
- {
- v15 = v11 ^ v10;
- }
- else
- {
- v12 = *(_DWORD *)(v19 + 36) + 4 * ((v20 + 4) % (unsigned int)(v8 - 4));
- v13 = ((unsigned int)(v22 * *(_DWORD *)(v19 + 36 + v12 + 4)) >> 26)
- + ((unsigned int)(v22 * *(_DWORD *)(v19 + 36 + v12 + 8)) >> 26)
- + ((unsigned int)(v22 * *(_DWORD *)(v12 + v19 + 36 + 12)) >> 26)
- + v20
- + ((unsigned int)(v22 * *(_DWORD *)(v19 + 36 + v12)) >> 26);
- v14 = *(_DWORD *)(v19 + 36) + 4 * ((v11 + 4) % (unsigned int)(v8 - 4));
- v15 = v13;
- v11 += ((unsigned int)(v22 * *(_DWORD *)(v19 + 36 + v14)) >> 26)
- + ((unsigned int)(v22 * *(_DWORD *)(v19 + 36 + v14 + 4)) >> 26)
- + ((unsigned int)(v22 * *(_DWORD *)(v14 + v19 + 36 + 8)) >> 26)
- + ((unsigned int)(v22 * *(_DWORD *)(v14 + v19 + 36 + 12)) >> 26);
- }
- if ( v15 != (*(_DWORD *)(v19 + 72) * (v11 | 1) ^ __ROR4__(*(_DWORD *)(v19 + 72) * (v11 | 1), 7) ^ __ROL4__(*(_DWORD *)(v19 + 72) * (v11 | 1), 11)) )
- *(_DWORD *)&aTpldxokn6lgc[-8] |= 0x200u;
- sub_10F21A0((int)&savedregs, v3, 1);
- }
- --*(_WORD *)(v3 + 52);
- v16 = *(_DWORD *)(v3 + 12);
- v17 = v16;
- result = *(_DWORD *)(v16 + v3 + 104);
- if ( result >= *(_DWORD *)(v17 + v3 + 88) )
- result = sub_10EDCB0(v3);
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement