void proc2(); void _start(__size32 param1); void proc3(); // address: 0x747828 void proc1() { __size8 al; // r8 __size32 eax; // r24 __size32 ebx; // r27 __size32 ecx; // r25 __size32 edi; // r31 __size32 edx; // r26 __size32 esi; // r30 void *esp; // r28 __size32 *esp_1; // r28{86} __size32 *esp_2; // r28{68} __size32 *esp_3; // r28{39} unsigned int local0; // m[esp - 44] int local1; // m[esp - 40] __size32 local10; // m[esp - 4] int local11; // m[esp - 4]{86} int local12; // m[esp - 8]{86} int local13; // m[esp - 12]{86} int local14; // m[esp - 16]{86} int local15; // m[esp - 20]{86} int local16; // m[esp - 24]{86} int local17; // m[esp - 28]{86} int local18; // m[esp - 32]{86} int local19; // m[esp - 36]{86} int local2; // m[esp - 36] int local20; // m[esp - 40]{86} int local21; // m[esp - 44]{86} int local3; // m[esp - 32] int local4; // m[esp - 28] int local5; // m[esp - 24] unsigned int local6; // m[esp - 20] __size32 local7; // m[esp - 16] __size32 local8; // m[esp - 12] __size32 local9; // m[esp - 8] (*eax)(pc, 0, 0x903e, 0x1000, 4, 0x903e, pc, edi, esi, ecx, ebx, (unsigned char) eax, eax, ecx, pc - 0x74782d, esi, edi, SUBFLAGS32(pc, 0x74782d, pc - 0x74782d), pc - 0x74782d == 0, pc < 0x74782d); ecx = *esp_3; *(__size32*)esp_3 = ebx + 0x73a412; *(__size32*)(esp_3 - 4) = ebx; *(__size8 **)(esp_3 - 8) = eax; edi = eax; esi = ebx + 0x73a412; while (ecx != 0) { *(__size8*)edi = *esi; esi += (DF == 0) ? 1 : -1; edi += (DF == 0) ? 1 : -1; ecx = ecx - 1; } (*ebx + 0x73a28e)(local0, local1, local2, local3, local4, local5, local6, local7, local8, local9, local10, al, eax, ebx + 0x73a28e, ebx + 0x73a412, ebx, esi, edi, , ADDFLAGS32(0x73a28e, ebx, ebx + 0x73a28e), ADDFLAGS32(0x73a28e, ebx, ebx + 0x73a28e), ADDFLAGS32(0x73a28e, ebx, ebx + 0x73a28e)); eax = *esp_2; ebx = *(esp_2 + 4); *(__size32*)esp_2 = 0x8000; *(__size32*)(esp_2 - 4) = 0; *(__size32*)(esp_2 - 8) = eax; eax = *(ebx + 0x5fe0c8); (*eax)(local0, local1, local2, local3, local4, local5, local6, local7, local8, local9, local10, (unsigned char) eax, eax, ecx, edx, ebx, esi, edi, , flags, ZF, CF); ecx = *esp_1; eax = *(esp_1 + 4); ebx = *(esp_1 + 8); *(__size8*)(ebx - 5) = -72; *(__size32*)(ebx - 4) = eax; *(__size8*)ebx = -61; if (ecx != 0) { proc3(local21, local20, local19, local18, local17, local16, local15, local14, local13, local12, local11, (unsigned char) eax, eax, ecx, edx, eax, esi, edi, , LOGICALFLAGS32(ecx), LOGICALFLAGS32(ecx), LOGICALFLAGS32(ecx)); } return; } // address: 0x74794d void proc2() { return; } // address: 0x74792c void _start(__size32 param1) { proc1(); /* goto param1 + 0x8a30*/ } // address: 0x747944 void proc3() { proc2(); }