/* Type: Mapped Platform: x86 Architecture: x86 Segments: r-x 0x00000000-0x00004852 --- 0x00004860-0x00004874 Sections: 0x00004860-0x00004874 .synthetic_builtins {External} */ 00000000 void __convention("regparm") sub_0(char* arg1, int32_t arg2, int32_t arg3, int32_t arg4 @ ebp, void* arg5 @ edi) __noreturn 00000000 { 00000001 void* const __return_addr_1 = __return_addr; 00000002 __return_addr = __return_addr_1; 00000003 *(uint32_t*)0x3000400 += *(uint8_t*)((char*)arg1)[1]; 00000009 int16_t ebx; 00000009 arg1[0x9affff00] += ebx; 0000000f arg1 = arg1; 00000011 *(uint8_t*)arg1 |= arg1; 00000013 arg1[arg3] += __return_addr_1; 00000017 *(uint8_t*)arg1 += *(uint8_t*)((char*)arg1)[1]; 00000019 *(uint8_t*)arg1 += arg1; 0000001b *(uint8_t*)arg1 += arg1; 0000001d *(uint8_t*)arg1 += arg1; 0000001f ebx += *(uint8_t*)((char*)arg1)[1]; 00000021 *(uint8_t*)arg1 |= arg1; 00000023 *(uint8_t*)((char*)arg5 + 9) += *(uint8_t*)((char*)arg3)[1]; 00000026 *(uint8_t*)arg1 += arg1; 00000029 arg1 |= *(uint8_t*)arg1; 0000002b arg1[0xcc00000a] += *(uint8_t*)((char*)ebx)[1]; 00000030 breakpoint(); 00000000 } 00000033 90 90 90 90 .... 00000037 int32_t __convention("regparm") sub_37(char* arg1, int32_t arg2, void* arg3, void* arg4 @ esi) 00000037 { 00000037 *(uint8_t*)arg1 += arg1; 00000039 *(uint8_t*)arg1 += arg1; 0000003b *(uint8_t*)arg1 += arg1; 0000003d *(uint8_t*)arg1 += arg1; 0000003f arg1[0xffffffb8] += arg2; 00000043 void* const eax; 00000043 eax = __return_addr + *(uint8_t*)((char*)arg3)[1]; 00000045 char* ebx; 00000045 *(uint8_t*)ebx = ROLB(*(uint8_t*)ebx, 0x58); 00000048 __return_addr = arg3; 00000049 void* var_4 = arg4; 0000004a int32_t edi; 0000004a int32_t var_8 = edi; 0000004b int32_t ebp; 0000004b int32_t var_c = ebp; 00000051 void* const var_58 = eax; 00000052 int32_t var_5c = arg2; 00000053 char* var_60 = ebx; 00000053 char** esp_1 = &var_60; 00000053 00000058 if (!(*(uint8_t*)((char*)arg4 - 0x4c) & 0xf)) 00000058 { 00000067 *(uint8_t*)arg3 += *(uint8_t*)((char*)arg3)[1]; 00000069 return 0x10ba0010; 00000058 } 00000058 0000005c int16_t eax_1; 0000005c *(uint8_t*)((char*)eax_1)[1] = *(uint8_t*)((char*)arg2)[1] ^ *(uint8_t*)((char*)arg2)[1]; 0000005e eax_1 &= 0xf; 0000006c *(uint8_t*)((char*)arg4 - 4) = 0x10; 00000076 *(uint32_t*)((char*)arg4 - 8) = *(uint32_t*)((char*)arg4 - 0x4c) - 0x3dd6fff0; 00000085 *(uint32_t*)((char*)arg4 - 0x18) = *(uint32_t*)0xa5a50654; 00000085 void* edi_2 = (char*)arg4 - 0x14; 00000085 void* esi = 0xa5a50658; 00000086 *(uint32_t*)edi_2 = *(uint32_t*)esi; 00000086 void* edi_3 = (char*)edi_2 + 4; 00000086 void* esi_1 = (char*)esi + 4; 00000087 *(uint32_t*)edi_3 = *(uint32_t*)esi_1; 00000087 void* edi_4 = (char*)edi_3 + 4; 00000087 void* esi_2 = (char*)esi_1 + 4; 00000088 *(uint32_t*)edi_4 = *(uint32_t*)esi_2; 00000088 void* edi_5 = (char*)edi_4 + 4; 00000088 void* esi_3 = (char*)esi_2 + 4; 00000089 *(uint32_t*)edi_5 = *(uint32_t*)esi_3; 00000089 void* esi_4 = (char*)esi_3 + 4; 0000008a *(uint32_t*)((char*)edi_5 + 4) = *(uint32_t*)esi_4; 0000008a void* esi_5 = (char*)esi_4 + 4; 0000008b *(uint8_t*)((char*)esi_5 - 2) = 0; 000000a6 void* esi_6 = 0xa5f30664; 000000a6 000000ad if (ebx) 000000ad { 000000b5 *(uint32_t*)0xa5f30618; 000000b8 *(uint32_t*)0xa5f3061a; 000000bb *(uint32_t*)0xa5f3065e; 000000ad } 000000ad else 000000ad { 000000b4 int32_t eax_6; 000000b4 eax_6 = 0x8c; 000000b6 char* esi_7 = var_60; 000000b7 *(uint8_t*)((char*)eax_6)[1] = 0x8b; 000000b9 var_60 = esi_7; 000000b9 esp_1 = &var_60; 000000ba int32_t edx_1; 000000ba *(uint8_t*)((char*)edx_1)[1] = 0x8b; 000000bc esi_6 = &esi_7[1]; 000000bd int32_t eflags; 000000bd __cli(eflags); 000000ad } 000000ad 000000be 0x468a0523(); 000000c4 int32_t eax_8; 000000c4 *(uint8_t*)((char*)eax_8)[1] = 0; 000000ca *(uint32_t*)((char*)esi_6 - 6); 000000cd *(uint32_t*)((char*)esi_6 - 0x4c); 000000cd 000000d8 if (0xc9310540() < *(uint32_t*)((char*)esi_6 - 8)) 000000d8 { 000000e3 *(uint8_t*)((char*)esi_5 - 0x48); 000000e9 *(uint32_t*)0xfffffffe; 000000ee *(uint8_t*)((char*)esi_5 + 0x423003f2); 000000f4 0x88e84383(); 000000fa *(uint32_t*)0xffffff84 += 1; 000000fd /* undefined */ 000000d8 } 000000d8 00000109 *(uint32_t*)((char*)esi_6 - 8); 00000109 bool cond:0 = *(uint32_t*)((char*)esi_6 - 6) <= -(*(uint32_t*)((char*)esi_6 - 8)); 00000111 void* edx_4; 00000111 00000111 while (true) 00000111 { 00000111 edx_4 = 0x8b040dfe(); 00000111 00000116 if (!cond:0) 00000116 break; 00000116 00000110 *(uint32_t*)((char*)esp_1 - 4) = esi_6; 00000110 esp_1 -= 4; 00000111 } 00000111 0000011f if (0 >= (char*)esi_5 - 0x38) 0000011f { 0000016e int32_t ecx_2; 0000016e ecx_2 = 3; 00000170 *(uint32_t*)((char*)esi_6 - 6); 00000173 int32_t result = 0xec89055b(); 00000178 *(uint32_t*)esp_1; 00000178 esp_1[1]; 00000179 esp_1[2]; 0000017a esp_1[3]; 0000017c return result; 0000011f } 0000011f 00000139 for (int32_t i = 0; i < 0x10; i += 1) 00000139 { 00000127 *(uint32_t*)(i - 6); 0000012a char eax_14 = *(uint8_t*)((char*)esi_5 - 0x38); 0000012c *(uint8_t*)((char*)edx_4 - 0x38) = eax_14; 00000132 *(uint8_t*)((char*)edx_4 - 0x28) = eax_14 ^ *(uint8_t*)((char*)edx_4 - 0x48); 00000139 } 00000139 0000015b while (true) 0000015b /* nop */ 00000037 } 000000fe int32_t __convention("regparm") sub_fe(int32_t* arg1) 000000fe { 000000fe int32_t ebx; 000000fe char temp0 = *(uint8_t*)(ebx * 9 - 0x7d); 000000fe bool c; 000000fe *(uint8_t*)(ebx * 9 - 0x7d) = temp0 + *(uint8_t*)((char*)ebx)[1]; 00000102 *(uint32_t*)arg1 = RLCD(*(uint32_t*)arg1, 0xeb, temp0 + *(uint8_t*)((char*)ebx)[1] < temp0 || (c && temp0 + *(uint8_t*)((char*)ebx)[1] == temp0)); 00000105 /* undefined */ 000000fe } 0000017d int32_t __convention("fastcall") sub_17d(int32_t arg1, uint64_t* arg2, void* arg3 @ ebp, int32_t* arg4 @ esi, void* arg5 @ edi) 0000017d { 00000182 void* ebx; 00000182 arg2 += *(uint8_t*)((char*)ebx + 0x51); 00000185 uint64_t* var_4 = arg2; 00000186 int32_t* var_8 = arg4; 0000018c int16_t es; 0000018c *(uint16_t*)((char*)ebx - 0x5ebfff78) = es; 0000018f int32_t eax; 0000018f int16_t es_1; 0000018f eax = __les_gprz_memp(*(uint6_t*)arg2); 00000191 void* ebx_1 = nullptr; 00000191 000001a0 while (true) 000001a0 { 000001a0 eax = *(uint8_t*)((char*)arg5 - 0x1bcff96c); 000001a0 000001a8 if (0 < eax) 000001a8 break; 000001a8 00000195 ebx_1 += 2; 000001a0 } 000001a0 000001aa *(uint8_t*)arg4; 000001ad *(uint8_t*)((arg4 << 1) + 0x8c4a10c) |= eax; 000001b4 char eax_1 = eax - (int8_t)*(uint32_t*)arg4; 000001b6 int32_t esp = 0x13d08; 000001b6 000001bb if (eax > *(uint32_t*)arg4) 000001bb { 000001cb arg4 = *(uint32_t*)arg4; 000001d2 *(uint32_t*)0x13d04 = (uint32_t)es_1; 000001d2 esp = 0x13d04; 000001d3 *(uint8_t*)(0x13d04 + arg5) = eax_1; 000001bb } 000001bb else 000001bb { 000001bd *(uint8_t*)((char*)arg5 - 0x1bcff96b); 000001d0 *(uint32_t*)((char*)arg3 + 0x3c048806) = 0x71e808ba; 000001bb } 000001bb 000001de ebx_1 = ebx_1; 000001e0 int32_t eflags; 000001e0 int32_t* eax_2 = __in_oeax_immb(0x80, eflags); 000001e2 int16_t cs; 000001e2 *(uint32_t*)(esp - 4) = (uint32_t)cs; 000001e3 *(uint32_t*)eax_2 = RORD(*(uint32_t*)eax_2, 0x10); 000001e6 *(uint32_t*)arg4 += 1; 000001ed *(uint32_t*)0xffffffeb |= eax_2; 000001f0 *(uint32_t*)arg5; 000001f6 int32_t eax_3; 000001f6 eax_3 = 0x2e & *(uint8_t*)((char*)ebx_1 - 0x5ebfff48); 000001f9 int32_t result; 000001f9 int16_t es_2; 000001f9 result = __les_gprz_memp(*(uint32_t*)0xab808ba); 000001fb *(uint32_t*)0xba06ff08; 000001fc *(uint32_t*)0xba06ff0c; 000001fd *(uint32_t*)0xba06ff10; 000001fe *(uint32_t*)0xba06ff14; 000001ff return result; 0000017d } 00000200 50 b8 06 00 e8 00 02 58 50 e8 0e 04 83 c4 02 b8 62 0a 50 b8 70 00 50 e8 2e 05 83 c4 04 c3 b8 1a P......XP.......b.P.p.P......... 00000220 00 e8 e3 01 53 52 55 89 e5 83 ec 10 b8 73 00 e8 ce ff ....SRU......s.... 00000232 int32_t sub_232() __pure 00000232 { 0000023c return 0xb5d868ef; 00000232 } 0000023f 0a . 00000240 e8 fd fd bb 10 00 ba 44 06 8d 46 f0 e8 2b 05 85 c0 75 05 b8 01 00 eb 0c b8 84 00 50 e8 bb 03 83 .......D..F..+...u.........P.... 00000260 c4 02 31 c0 89 ec 5d 5a 5b c3 b8 04 00 e8 97 01 b8 a1 00 50 e8 a3 03 83 c4 02 b8 b2 00 50 e8 99 ..1...]Z[..........P.........P.. 00000280 03 83 c4 02 b8 cd 00 50 e8 8f 03 83 c4 02 b8 ef 00 50 e8 85 03 83 c4 02 b8 13 01 50 e8 7b 03 83 .......P.........P.........P.{.. 000002a0 c4 02 b8 2f 01 50 e8 71 03 83 c4 02 b8 55 01 50 e8 67 03 83 c4 02 b8 6b 01 50 e8 5d 03 83 c4 02 .../.P.q.....U.P.g.....k.P.].... 000002c0 b8 76 01 e8 3a ff b8 89 01 50 e8 4d 03 83 c4 02 b8 62 0a e9 c0 04 b8 8e 00 e8 2b 01 53 51 52 56 .v..:....P.M.....b........+.SQRV 000002e0 55 89 e5 81 ec 80 00 81 ed 8c 00 31 f6 b8 8b 01 50 e8 26 03 83 c4 02 b8 cf 01 50 e8 1c 03 83 c4 U..........1....P.&.......P..... 00000300 02 c6 46 7f 00 8d 5e 70 8d 56 7e b8 16 00 e8 54 05 8a 4e 71 c6 46 7f 02 8d 5e 70 8d 56 7e b8 16 ..F...^p.V~....T..Nq.F...^p.V~.. 00000320 00 e8 41 05 80 f9 01 74 4a 80 f9 1c 75 19 83 fe 14 75 0f 89 f3 ba 8c 08 8d 46 0c e8 3c 04 85 c0 ..A....tJ...u....u.......F..<... 00000340 74 1d b8 05 02 eb 25 88 4a 0c f6 46 70 03 74 05 b8 01 00 eb 02 31 c0 88 42 0d 83 c6 02 eb a2 b8 t.....%.J..Fp.t......1..B....... 00000360 25 02 50 e8 b4 02 83 c4 02 b8 38 02 50 e8 aa 02 83 c4 02 8d a6 8c 00 5d e9 80 fe fc 72 03 76 03 %.P.......8.P..........]....r.v. 00000380 b9 03 be 03 c3 03 c8 03 cd 03 50 b8 06 00 e8 76 00 58 53 e8 e7 fd e8 85 fe 85 c0 75 03 e9 c8 fe ..........P....v.XS........u.... 000003a0 eb 36 31 c0 5b c3 b8 63 02 50 e8 6d 02 83 c4 02 b8 87 02 50 e8 63 02 83 c4 02 b8 ab 02 50 e8 59 .61.[..c.P.m.......P.c.......P.Y 000003c0 02 83 c4 02 b8 cf 02 50 e8 4f 02 83 c4 02 b8 f3 02 50 e8 45 02 83 c4 02 e8 8f fe .......P.O.......P.E....... 000003db int32_t __convention("regparm") sub_3db(int32_t arg1, int32_t arg2 @ edi) 000003db { 000003e4 int32_t cs; 000003e4 /* jump -> *(uint32_t*)(cs + arg2 + 0x17b8034c) */ 000003db } 000003eb 03 eb e3 b8 42 03 eb de b8 6f 03 eb d9 b8 94 03 eb d4 e8 d6 fe ....B....o........... 00000400 eb d6 8c 16 a0 08 c3 3b c4 73 13 2b c4 f7 d8 3b 06 ce 09 77 08 8c d0 3b 06 a0 08 74 01 c3 0e 5a .......;.s.+...;...w...;...t...Z 00000420 b8 f9 03 bb 01 00 e8 ca 06 53 74 61 63 6b 20 4f 76 65 72 66 6c 6f 77 21 00 53 51 52 56 57 55 89 .........Stack Overflow!.SQRVWU. 00000440 e5 83 ec 04 89 c7 85 c0 74 42 3d ea ff 77 3d 05 03 00 24 fe 89 46 fc 3d 06 00 72 3b c6 46 fe 00 ........tB=..w=...$..F.=..r;.F.. 00000460 31 d2 8b 46 fc 3b 06 a6 08 76 3d 8b 36 a4 08 85 f6 74 2b 85 f6 75 3c 80 7e fe 00 74 61 89 f8 e8 1..F.;...v=.6....t+..u<.~..ta... 00000480 8c 06 85 c0 74 68 c6 46 fe 00 eb d6 31 c0 89 ec 5d 5f 5e 5a 59 5b c3 c7 46 fc 06 00 eb be 89 36 ....th.F....1...]_^ZY[..F......6 000004a0 a6 08 8b 36 a2 08 eb cb 31 c0 8b 36 a2 08 a3 a6 08 eb c0 8b 4c 0a 89 36 a4 08 39 f9 72 0f 8c da ...6....1..6........L..6..9.r... 000004c0 89 f3 89 f8 e8 59 06 89 c2 85 c0 75 21 3b 0e a6 08 77 05 8b 74 04 eb 9b 89 0e a6 08 eb f5 89 f8 .....Y.....u!;...w..t........... 000004e0 e8 37 09 85 c0 74 96 c6 46 fe 01 e9 74 ff 89 d0 eb 9c c3 53 52 89 c3 ff 16 a8 08 ba ff 00 b8 10 .7...t..F...t......SR........... 00000500 00 e8 8e 0a ff 16 a8 08 ff 16 aa 08 89 d8 e9 73 05 52 89 c2 ff 16 a8 08 ff 16 aa 08 89 d0 e9 63 ...............s.R.............c 00000520 05 51 56 57 89 d9 89 d6 89 c7 57 8c d8 8e c0 d1 e9 f3 a5 13 c9 f3 a4 5f 89 f8 5f 5e 59 c3 .QVW......W............_.._^Y. 0000053e uint32_t __convention("regparm") sub_53e(int32_t arg1, char arg2, int32_t arg3 @ edi) 0000053e { 0000053e int32_t ecx; 0000053e int32_t var_4 = ecx; 0000053f int32_t var_8 = arg3; 00000540 int32_t edi = arg1; 00000544 arg1 = arg2; 00000546 int32_t var_c = edi; 00000549 *(uint8_t*)((char*)arg1)[1] = arg1; 0000054d int32_t ecx_3; 0000054d int32_t ebx; 0000054d int32_t edi_1; 0000054d edi_1 = __memfill_u32(edi, arg1, ebx >> 1); 00000551 int32_t ecx_5; 00000551 int32_t edi_2; 00000551 edi_2 = __memfill_u8(edi_1, arg1, ecx_3 + ecx_3); 00000558 int16_t ds; 00000558 return (uint32_t)ds; 0000053e } 00000559 53 52 56 85 c0 74 55 SRV..tU 00000560 8b 36 b2 0a 85 f6 74 34 39 c6 77 08 8b 14 01 f2 39 c2 77 43 89 f3 8b 74 02 85 f6 74 0c 39 c6 77 .6....t49.w.....9.wC...t...t.9.w 00000580 08 . 00000581 int32_t __convention("regparm") sub_581(int32_t arg1, int32_t arg2, int32_t* arg3, void* arg4 @ ebp, int32_t* arg5 @ esi, char* arg6 @ edi) 00000581 { 00000587 if (*(uint32_t*)((char*)arg3 + arg1) <= arg1) 00000587 { 00000589 arg5 = *(uint32_t*)(arg6 + 4); 00000589 0000059a if (!arg5 || arg5 > arg1 || *(uint32_t*)((char*)arg3 + arg1) <= arg1) 0000059a { 0000059e *(uint8_t*)arg6 = **(uint8_t**)arg5; 0000059f *(uint8_t*)((char*)arg4 - 0x74ea8a0a) |= arg1; 000005a5 void* ss; 000005a5 *(uint8_t*)((char*)ss + 0x74f68508) = arg1; 000005ab *(uint32_t*)arg3 |= &arg6[1]; 000005ad /* undefined */ 0000059a } 00000587 } 00000587 000005f1 int32_t ecx; 000005f1 int32_t edx_2; 000005f1 edx_2 = 0x36890bec(); 000005f6 edx_2 = 0xa; 000005f8 *(uint32_t*)arg5; 000005fa *(uint8_t*)arg6 = *(uint8_t*)arg5; 000005fa void* edi_1 = &arg6[1]; 000005fb *(uint8_t*)((char*)arg5 + 9) |= *(uint8_t*)((char*)edx_2)[1]; 000005fe *(uint32_t*)(edx_2 + ecx + 0x3b); 00000603 *(uint8_t*)((char*)arg5 + 1) - *(uint8_t*)edi_1; 00000603 void* edi_2 = (char*)edi_1 + 1; 00000604 *(uint8_t*)((char*)edi_2 + 0xe) |= *(uint8_t*)((char*)edx_2)[1]; 00000604 int16_t es; 00000604 /* tailcall */ 00000604 return sub_607((uint32_t)es); 00000581 } 000005ae 76 5b v[ 000005b0 int32_t sub_5b0() 000005b0 { 000005b0 void var_15; 000005b0 eax; 000005b0 *(uint32_t*)(&var_15 + eax); 000005b4 /* tailcall */ 000005b4 return sub_607(); 000005b0 } 000005b9 39 c6 77 08 8b 14 01 9.w.... 000005c0 f2 39 c2 77 28 89 f3 8b 74 02 85 f6 74 0c 39 c6 77 08 .9.w(...t...t.9.w. 000005d2 int32_t __convention("regparm") sub_5d2(int32_t arg1, int32_t arg2, int32_t* arg3, char* arg4 @ esi, char* arg5 @ edi) 000005d2 { 000005d8 if (*(uint32_t*)((char*)arg3 + arg1) <= arg1) 000005d8 { 000005da arg4 = *(uint32_t*)(arg5 + 4); 000005da 000005eb if (!arg4 || arg4 > arg1 || *(uint32_t*)((char*)arg3 + arg1) <= arg1) 000005eb { 000005a4 *(uint32_t*)arg4; 000005a6 *(uint32_t*)0x74f68508 = arg1; 000005ab *(uint32_t*)arg3 |= arg5; 000005ad /* undefined */ 000005eb } 000005d8 } 000005d8 000005f1 int32_t ecx; 000005f1 int32_t edx_2; 000005f1 edx_2 = 0x36890bec(); 000005f6 edx_2 = 0xa; 000005f8 *(uint32_t*)arg4; 000005fa *(uint8_t*)arg5 = *(uint8_t*)arg4; 000005fa void* edi = &arg5[1]; 000005fb arg4[9] |= *(uint8_t*)((char*)edx_2)[1]; 000005fe *(uint32_t*)(edx_2 + ecx + 0x3b); 00000603 arg4[1] - *(uint8_t*)edi; 00000603 void* edi_1 = (char*)edi + 1; 00000604 *(uint8_t*)((char*)edi_1 + 0xe) |= *(uint8_t*)((char*)edx_2)[1]; 00000604 int16_t es; 00000604 /* tailcall */ 00000604 return sub_607((uint32_t)es); 000005d2 } 00000607 int32_t __stdcall sub_607(int32_t arg1, int32_t arg2) __pure 00000607 { 0000060a return; 00000607 } 0000060b 8b 14 01 f2 39 c2 77 da eb 9b ....9.w... 00000615 int32_t __convention("regparm") sub_615(int32_t arg1, int32_t arg2, void* arg3, void* arg4 @ esi) 00000615 { 00000615 *(uint32_t*)0xedeb08a6 = arg1; 0000061a int32_t ebx; 0000061a int32_t var_4 = ebx; 0000061b int32_t var_8 = arg2; 0000061c int32_t ebp; 0000061c int32_t var_c = ebp; 00000628 *(uint32_t*)((char*)arg4 + 8); 0000062b *(uint32_t*)((char*)arg4 - 2) = (char*)arg4 + 0xa; 00000633 *(uint32_t*)((char*)arg3 + 0x5b5a5dec) |= arg3; 00000639 return 0xd1e808ba; 00000615 } 0000063a 53 51 56 57 89 c1 SQVW.. 00000640 89 d3 8b 77 04 8b 44 06 3d 01 00 74 0c 85 c0 74 03 e9 6f 00 c7 44 06 01 00 f6 47 06 02 75 03 e9 ...w..D.=..t...t..o..D....G..u.. 00000660 69 00 8b 77 i..w 00000664 void __convention("regparm") sub_664(int32_t arg1, int16_t arg2, char arg3, void* arg4 @ ebp, void* arg5 @ esi, int32_t* arg6 @ edi, long double arg7 @ st0) 00000664 { 00000664 char temp0 = arg1; 00000664 arg1 -= 0x7d; 00000666 int32_t ebx; 00000666 00000666 if (temp0 < 0x7d) 00000666 { 0000066e int32_t eflags; 0000066e __sti(eflags); 0000066f *(uint8_t*)((char*)ebx)[1] |= *(uint8_t*)((char*)arg5 - 0x67cfc00); 00000666 } 00000666 else 00000666 { 00000668 *(uint8_t*)((char*)arg4 + 5) += *(uint8_t*)((char*)arg2)[1]; 0000066d arg1 = 0xbe116d(); 00000672 arg1 -= 0x7d; 00000666 } 00000666 00000675 *(uint8_t*)((char*)arg2)[1] |= *(uint8_t*)((char*)arg4 + 0x28); 0000067d int16_t es; 0000067d uint32_t var_4 = (uint32_t)es; 0000067d uint32_t* esp = &var_4; 0000067d 0000067f if (arg1 == 0xffffffff) 0000067f { 00000681 arg6 = *(uint32_t*)arg6; 00000683 *(uint8_t*)((char*)arg6 + 7) |= 0x10; 00000687 *(uint32_t*)0xff07ff0d = 0x47; 0000068e *(uint8_t*)(ebx + 0x473b0247); 00000694 *(uint8_t*)((char*)arg2)[1] |= *(uint8_t*)((char*)arg4 + 9); 00000699 arg3 = 0xc08511d9(); 0000067f } 0000067f 0000069e if (arg1 != 0xffffffff || !*(uint8_t*)((char*)arg2)[1]) 0000069e { 000006a0 void* edi = *(uint32_t*)arg6; 000006a2 *(uint8_t*)((char*)edi + 7) |= 0x10; 000006a6 *(uint32_t*)0x47ff07ff = arg3; 000006b2 int32_t eax_2 = *(uint32_t*)((char*)edi + 2); 000006b5 int32_t temp2_1 = *(uint32_t*)((char*)edi + 0xa); 000006b5 bool cond:1_1 = eax_2 == temp2_1; 000006b5 000006b8 if (eax_2 != temp2_1) 000006b8 { 000006da label_6da: 000006da eax_2 = arg3; 000006dc *(uint8_t*)((char*)eax_2)[1] = 0; 000006c7 esp = &arg_4; 000006b8 } 000006b8 else 000006b8 { 000006bc eax_2 = 0xc08511d9(); 000006bc 000006c1 if (cond:1_1) 000006c1 goto label_6da; 000006b8 } 0000069e } 0000069e 000006c8 *(uint32_t*)esp; 000006c8 esp[1]; 00000664 } 000006cb int32_t __convention("fastcall") sub_6cb(int16_t arg1, int16_t arg2, int32_t arg3 @ edi, int32_t arg4, int32_t arg5) 000006cb { 000006d0 *(uint32_t*)0x3f690003; 000006d6 int16_t es; 000006d6 uint32_t var_4 = (uint32_t)es; 000006d9 int32_t eflags; 000006d9 int32_t result; 000006d9 result = __in_al_dx(arg2, eflags); 000006da result = arg1; 000006dc *(uint8_t*)((char*)result)[1] = 0; 000006ca return result; 000006cb } 000006e0 char* __convention("regparm") sub_6e0(char* arg1, void* arg2, char arg3, char** arg4 @ esi) 000006e0 { 000006e0 int32_t ebx; 000006e0 int32_t var_4 = ebx; 000006e1 void* var_8 = arg2; 000006e2 char** var_c = arg4; 000006e5 *(uint32_t*)arg4; 000006e8 char temp1 = *(uint8_t*)arg1 | arg1; 000006e8 *(uint8_t*)arg1 = temp1; 000006e8 000006ea if (temp1 <= 0) 000006ea { 00000703 int32_t eax; 00000703 eax = 0xad; 00000705 /* undefined */ 000006ea } 000006ea 000006ee arg1 = **(uint8_t**)arg4; 000006ef *(uint8_t*)((char*)arg2 - 0x761bcffc) |= arg3; 000006f5 return arg1; 000006e0 } 000006f8 0d 83 fa 0d 77 13 ....w. 00000706 int32_t __stdcall sub_706(int32_t arg1 @ esi, int32_t arg2, int32_t arg3) __pure 00000706 { 00000710 return arg1; 00000706 } 00000711 46 ff 0e ae 08 89 36 ac 08 eb e8 80 4f 08 02 F.....6.....O.. 00000720 eb e9 ba ac 08 e9 0a 0d 53 55 89 e5 83 ec 0a c7 46 f6 b0 06 89 d3 89 c2 8d 46 f6 c7 46 f8 f2 06 ........SU......F........F..F... 00000740 e8 cd 19 89 ec 5d 5b c3 52 55 89 e5 83 ec 02 8d 46 08 8d 56 fe 89 46 fe 8b 46 06 e8 ca ff 89 ec .....][.RU......F..V..F..F...... 00000760 5d 5a c3 ]Z. 00000763 int32_t __convention("regparm") sub_763(int32_t arg1) 00000763 { 00000765 int32_t edi = arg1; 0000076b int32_t i = 0xc033ffff; 0000076b 00000770 while (i) 00000770 { 00000770 int16_t ds; 00000770 bool cond:0_1 = ds != *(uint8_t*)edi; 00000770 edi += 1; 00000770 i -= 1; 00000770 00000770 if (!cond:0_1) 00000770 break; 00000770 } 00000770 00000779 return ~i - 1; 00000763 } 0000077a int32_t __convention("regparm") sub_77a(char* arg1, char* arg2) 0000077a { 0000077d int32_t i_1; 0000077d int32_t i = i_1; 0000077f char* edi = arg2; 00000781 char* esi = arg1; 00000783 int16_t result_1; 00000783 int32_t result = result_1; 00000787 bool c = false; 00000787 bool z = result == result; 00000787 00000789 while (i) 00000789 { 00000789 char temp2_1 = *(uint8_t*)esi; 00000789 char temp3_1 = *(uint8_t*)edi; 00000789 c = temp2_1 < temp3_1; 00000789 z = temp2_1 == temp3_1; 00000789 esi = &esi[1]; 00000789 edi = &edi[1]; 00000789 i -= 1; 00000789 00000789 if (!z) 00000789 break; 00000789 } 00000789 0000078b if (z) 00000795 return result; 00000795 0000078d bool c_1 = /* bool c_1 = unimplemented {sbb eax, eax} */; 0000078f return 0 - 0 + 1; 0000077a } 00000796 void __convention("regparm") sub_796(int32_t arg1, char* arg2 @ edi) __noreturn 00000796 { 0000079a int32_t ebx = arg1; 0000079a 0000079c while (true) 0000079c { 0000079c arg1 = *(uint8_t*)arg2; 0000079e *(uint8_t*)((char*)arg1)[1] = 0; 000007a2 arg2[ebx + 0x3740205]; 0000079c } 00000796 } 000007ac void __convention("regparm") sub_7ac(char arg1, char* arg2 @ edi) __noreturn 000007ac { 000007ac int32_t ecx; 000007ac ecx = arg1; 000007ac 000007b0 if (arg1 == 0x2b) 000007b0 goto label_7b2; 000007b0 000007d1 while (true) 000007d1 { 000007d1 int32_t ebx; 000007d1 000007d1 if (arg1 == 0x2d) 000007d1 { 000007b2 label_7b2: 000007b2 ebx += 1; 000007d1 } 000007d1 000007b5 int32_t edx; 000007b5 edx = *(uint8_t*)arg2; 000007b7 *(uint8_t*)((char*)edx)[1] = 0; 000007b9 char esi_1 = edx; 000007bb arg2[ebx + 0x13742005]; 000007c5 char eax; 000007c5 edx = HIGHD(0x4d * edx); 000007c5 eax = LOWD(0x4d * edx); 000007c9 ebx += 1; 000007ca arg1 = eax + esi_1 - 0x30; 000007d1 } 000007ac } 000007d5 void __thiscall sub_7d5(char arg1, int32_t arg2 @ eax, int32_t arg3, int32_t arg4, int32_t arg5) __pure 000007d5 { 000007e0 return; 000007d5 } 000007e1 56 57 55 89 e5 83 ec 14 50 89 d6 89 cf 8b 04 89 46 ec 8b 44 02 89 46 ee 8b 44 04 89 46 f0 8b VWU.....P.......F..D..F..D..F.. 00000800 44 06 89 46 f2 8b 44 08 89 46 f6 8b 44 0a 89 46 f8 8b 45 06 89 46 fa 8b 05 8d 56 ec 89 46 fc 8b D..F..D..F..D..F..E..F....V..F.. 00000820 46 ea e8 d1 1a 8b 46 ec 89 07 8b 46 ee 89 47 02 8b 46 f0 89 47 04 8b 46 f2 89 47 06 8b 46 f6 89 F.....F....F..G..F..G..F..G..F.. 00000840 47 08 8b 46 f8 89 47 0a 8b 46 fe 25 01 00 89 47 0c 8b 46 fa 89 45 06 8b 46 fc 89 05 8b 46 ec 89 G..F..G..F.%...G..F..E..F....F.. 00000860 ec 5d 5f 5e c3 51 56 55 89 e5 83 ec 08 89 c6 8d 46 f8 8d 4e f8 e8 90 1a 89 f0 e8 64 ff 89 ec 5d .]_^.QVU........F..N.......d...] 00000880 5e 59 c3 00 e9 8a 00 4f 70 65 6e 20 57 61 74 63 6f 6d 20 43 2f 43 2b 2b 31 36 20 52 75 6e 2d 54 ^Y.....Open Watcom C/C++16 Run-T 000008a0 69 6d 65 20 73 79 73 74 65 6d 2e 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 ime system. Portions Copyright ( 000008c0 43 29 20 53 79 62 61 73 65 2c 20 49 6e 63 2e 20 31 39 38 38 2d 32 30 30 32 2e 2a 2a 2a 20 4e 55 C) Sybase, Inc. 1988-2002.*** NU 000008e0 4c 4c 20 61 73 73 69 67 6e 6d 65 6e 74 20 64 65 74 65 63 74 65 64 00 4e 6f 74 20 65 6e 6f 75 67 LL assignment detected.Not enoug 00000900 68 20 6d 65 6d 6f 72 79 00 63 6f 6e 00 0d 0a 03 00 fb b9 dc 03 8e c1 bb d2 0b 83 c3 0f 80 e3 f0 h memory.con.................... 00000920 26 89 1e ce 09 26 8c 1e c8 09 03 dc 83 c3 0f 80 e3 f0 8e d1 8b e3 26 89 1e d0 09 8b d3 d1 ea d1 &....&................&......... 00000940 ea d1 ea d1 ea 26 80 3e cc 09 00 75 3d 8b 0e 02 00 8c c0 2b c8 3b d1 72 0b bb 01 00 b8 c7 08 8c .....&.>...u=......+.;.r........ 00000960 ca e8 8f 01 8c c0 8b da d1 e3 d1 e3 d1 e3 d1 e3 75 03 bb fe ff 26 89 1e c6 ................u....&... 00000979 void __convention("fastcall") sub_979(int32_t arg1) __noreturn 00000979 { 00000979 void* ebx; 00000979 *(uint32_t*)((char*)ebx + 0x26d803da) |= arg1; 0000097f *(uint32_t*)0xc08e09c8; 00000986 int32_t eax; 00000986 *(uint8_t*)((char*)eax)[1] = 0x4a; 00000988 trap(0x21); 00000979 } 000009b7 void sub_9b7(char* arg1 @ edi) __noreturn 000009b7 { 000009b7 int32_t eax; 000009b7 eax = 0; 000009b9 *(uint8_t*)arg1 = 0; 000009ba eax = 0; 000009bc arg1[1] = 0; 000009be *(uint8_t*)((char*)eax)[1] = 0x30; 000009c0 trap(0x21); 000009b7 } 000009ca void __convention("regparm") sub_9ca(int32_t arg1, int32_t arg2, int32_t* arg3, int16_t* arg4 @ esi, uint8_t* arg5 @ edi, long double arg6 @ st0, int32_t arg7) __noreturn 000009ca { 000009ca double* ebx; 000009ca *(uint32_t*)((char*)ebx + 0x72033ccf) |= arg3; 000009d1 *(uint16_t*)arg4; 000009d3 void* const eax; 000009d3 eax = __return_addr; 000009d7 int32_t* ebp = 0x48b0100; 000009dc int32_t eax_1 = eax | 0x6e3d2020; 000009e1 int32_t eflags; 000009e1 uint8_t* esi = __outsd(arg2, 0x525a4d, 0, eflags); 000009e2 bool cond:1_1; 000009e2 000009e2 if (eax_1) 000009e2 { 000009fb label_9fb: 000009fb eax_1 = *(uint32_t*)(arg2 + eax_1 + 0xc); 000009ff *(uint32_t*)0x10753d6e &= *(uint8_t*)((char*)ebx)[1]; 00000a05 eax_1 = *(uint8_t*)(&arg_10 + eax_1); 00000a09 char temp1_1 = esi[0x9160200] & *(uint8_t*)((char*)ebx)[1]; 00000a09 esi[0x9160200] = temp1_1; 00000a09 00000a0c if (!temp1_1) 00000a0c { 00000a0e ebp = 0x4830000; 00000a14 int32_t temp3_1 = eax_1; 00000a14 eax_1 -= 0x53ffc380; 00000a14 cond:1_1 = temp3_1 != 0x53ffc380; 00000a14 goto label_a19; 00000a0c } 000009e2 } 000009e2 else 000009e2 { 000009ec if (*(uint32_t*)(arg2 + eax_1 + 0x38) < 0x80277537) 000009f2 trap(1); 000009f2 000009f3 double* temp2_1 = ebx; 000009f3 ebx = &ebx[0x916020]; 000009f5 eax_1 = eax_1 - 0x3d; 000009f7 uint8_t temp0_1; 000009f7 temp0_1 = __insb(arg5, arg2, eflags); 000009f7 *(uint8_t*)arg5 = temp0_1; 000009f7 000009f8 if (!eax_1) 000009f8 goto label_9fb; 000009e2 } 000009e2 00000a19 do 00000a19 { 00000a15 cond:1_1 = *(uint8_t*)(eax_1 * 2) != 0xac; 00000a19 label_a19: 00000a19 } while (cond:1_1); 00000a19 00000a1b *(uint8_t*)(eax_1 * 2); 00000a24 bool cond:3 = eax_1; 00000a26 *(uint8_t*)arg5 = *(uint8_t*)esi; 00000a26 00000a27 for (; cond:3; cond:3 = *(uint8_t*)(eax_1 * 2) != 0xa4) 00000a27 { 00000a27 } 00000a27 00000a2d *(uint32_t*)arg3 = arg3; 00000a2f eax_1 = __in_al_dx(0x46ac, eflags); 00000a30 *(uint32_t*)((char*)arg3 + eax_1 - 0x2374f612) |= arg3; 00000a39 *(uint32_t*)0x262009d6 = ebp; 00000a3e *(uint32_t*)((char*)arg3 - 0x46f631c2) |= arg3; 00000a45 *(uint8_t*)ebx = RORB(*(uint8_t*)ebx, arg3); 00000a4c int32_t* eax_2; 00000a4c eax_2 = 0; 00000a4e int32_t ecx = __builtin_memset(0xcf2b0a62, 0, arg3); 00000a50 *(uint32_t*)arg3; 00000a53 int32_t temp4 = *(uint32_t*)eax_2 | eax_2; 00000a53 *(uint32_t*)eax_2 = temp4; 00000a53 00000a55 if (!temp4) 00000a55 { 00000a5c *(uint32_t*)((char*)arg3 + ecx - 0x235cf626) |= ecx; 00000a63 *(uint32_t*)((char*)arg3 + ecx - 0x1f5cf622) |= ecx; 00000a6a *(uint32_t*)((char*)arg3 + ecx - 0x12ccf61e) |= ecx; 00000a55 } 00000a55 00000a76 *(uint32_t*)((char*)arg3 + ecx - 0x47f61a) |= ecx; 00000a7d int32_t eax_4; 00000a7d eax_4 = 0xbe + *(uint8_t*)((char*)ecx)[1]; 00000a7f int32_t edx; 00000a7f edx = 4; 00000a81 char* eax_5; 00000a81 int32_t edx_1; 00000a81 eax_5 = 0xba502322(); 00000a86 *(uint64_t*)ebx; 00000a8d *(uint8_t*)eax_5 += eax_5; 00000a8d 00000a9a if (eax_5 == *(uint32_t*)arg3) 00000a9a { 00000adf int32_t ecx_1; 00000adf ecx_1 = 4; 00000ae2 int32_t eax_7; 00000ae2 *(uint8_t*)((char*)eax_7)[1] = 0x4c; 00000ae4 trap(0x21); 00000a9a } 00000a9a 00000aa8 *(uint32_t*)0x50530c4e = edx_1; 00000ab7 *(uint32_t*)0x50530c4e; 00000ab9 char* esi_3 = *(uint32_t*)0x50530c50; 00000abf char i; 00000abf 00000abf do 00000abf { 00000abc i = *(uint8_t*)esi_3; 00000abc esi_3 = &esi_3[1]; 00000abf } while (i); 00000ac8 trap(0x21); 000009ca } 00000aee int32_t sub_aee() 00000aee { 00000aee /* undefined */ 00000aee } 00000aef int32_t sub_aef() 00000aef { 00000aef /* undefined */ 00000aef } 00000af0 e9 b0 ff 51 56 89 c1 89 d6 e8 dc 19 85 c0 74 03 ...QV.........t. 00000b00 5e 59 c3 89 c8 89 f2 e8 99 ff 5e 59 c3 ^Y........^Y. 00000b0d int32_t __convention("regparm") sub_b0d(char* arg1, int32_t arg2, char* arg3, void* arg4 @ esi, int32_t arg5 @ edi, int80_t arg6 @ st0, void* arg7) 00000b0d { 00000b0d *(uint8_t*)arg3 += *(uint8_t*)((char*)arg2)[1]; 00000b0f void** ebx; 00000b0f ebx = ROLB(ebx, 0); 00000b12 *(uint8_t*)arg1 += arg1; 00000b14 *(uint8_t*)arg1 += arg1; 00000b16 *(uint8_t*)arg1 += arg1; 00000b18 *(uint8_t*)arg1 += arg1; 00000b1a *(uint8_t*)arg1 += arg1; 00000b1c *(uint8_t*)arg1 += arg1; 00000b1e *(uint8_t*)arg1 += arg1; 00000b23 int32_t ebp; 00000b23 int32_t var_10 = ebp; 00000b26 void var_14; 00000b26 void* esp = &var_14; 00000b2b *(uint32_t*)((char*)arg4 - 2) = arg2; 00000b30 *(uint32_t*)((char*)arg4 - 4) = 0x8c500000; 00000b37 arg6 - (long double)*(uint32_t*)arg5; 00000b39 *(uint32_t*)((char*)arg4 - 2) = arg2; 00000b39 00000b47 if (arg1 && arg1 < 0x37c6fffd) 00000b47 { 00000b49 void* eax_2; 00000b49 eax_2 = (&arg1[0xc8390003]) & 0xfe; 00000b4d void* ecx_1 = eax_2; 00000b52 bool cond:0_1 = ecx_1 > 6; 00000b52 00000b55 if (ecx_1 >= 6) 00000b5a cond:0_1 = ecx_1 > *(uint32_t*)((char*)ebx + 0xa); 00000b55 else 00000b57 ecx_1 = 0xc1390006; 00000b57 00000b5c if (!cond:0_1) 00000b5c { 00000b5e void* edx = arg4; 00000b61 void* ebx_1 = arg5; 00000b61 00000b66 if (ecx_1 <= edx) 00000b66 { 00000bb9 ebx_1 = arg7; 00000bbc edx = nullptr; 00000b66 } 00000b66 00000b6a arg4 = &ebx[4]; 00000b6a 00000b6d while (true) 00000b6d { 00000b6d void* eax_4 = *(uint32_t*)ebx; 00000b71 void* var_8; 00000b71 00000b71 if (ecx_1 <= eax_4) 00000b71 { 00000b73 var_8 = edx; 00000b76 char* eax_5 = (char*)eax_4 - ecx_1; 00000b78 char* var_4 = &arg3[1]; 00000b82 arg4 = (char*)ebx_1 + ecx_1; 00000b84 int32_t var_c = arg4; 00000b87 *(uint32_t*)((char*)ebx_1 + (ecx_1 << 2)) = eax_5; 00000b87 00000b8a if (ebx_1 <= -(ecx_1)) 00000b8c *(uint32_t*)ebx = ecx_1; 00000b8c 00000b8e *(uint32_t*)((char*)edx + eax_5 - 0x75) = ebx; 00000b93 eax_5 -= 0x77; 00000b95 void var_13; 00000b95 esp = &var_13; 00000b96 char temp2_1 = eax_5; 00000b96 eax_5 -= 0x77; 00000b96 00000b98 if (temp2_1 != 0x77) 00000b98 { 00000b9e eax_5 += eax_5[0xc383010f]; 00000ba4 ecx_1 += *(uint8_t*)((char*)ecx_1 + 0x468bfc5e); 00000baa /* undefined */ 00000b98 } 00000b98 00000b9c var_10 = arg4; 00000b9f *(uint8_t*)eax_5 |= 1; 00000ba5 *(uint32_t*)((char*)arg4 - 4) = (char*)ebx_1 + 2; 00000b98 break; 00000b71 } 00000b71 00000bc2 if (eax_4 > edx) 00000bc4 edx = eax_4; 00000bc4 00000bc6 ebx_1 = ebx[1]; 00000bc6 00000bcb if (ebx_1 == arg4) 00000bcb { 00000bd0 var_8 = edx; 00000bd3 int16_t var_18_1 = (int16_t)*(uint32_t*)((char*)arg4 - 2); 00000bd7 goto label_bb8; 00000bcb } 00000b6d } 00000b5c } 00000b47 } 00000b47 00000bab *(uint32_t*)((char*)esp - 4) = *(uint32_t*)((char*)arg4 - 2); 00000bae *(uint16_t*)((char*)esp - 4); 00000bb8 label_bb8: 00000bb8 return *(uint32_t*)((char*)arg4 - 4); 00000b0d } 00000bd9 ff 4d 0e 8b 77 02 89 .M..w.. 00000be0 75 06 8b 7f 04 89 7c 04 eb b2 51 56 57 55 89 e5 83 ec 08 89 c6 89 d1 89 df 89 d0 50 8c d8 1f 89 u.....|...QVWU.............P.... 00000c00 c1 85 f6 75 03 ...u. 00000c0a int32_t __convention("regparm") sub_c0a(void* arg1, int16_t arg2, int32_t* arg3, char* arg4 @ edi, uint32_t arg5) 00000c0a { 00000c0a *(uint8_t*)((char*)arg2)[1] *= 2; 00000c0c char temp3 = arg1; 00000c0c arg1 += 1; 00000c0c 00000c0e if (temp3 == 0xff) 00000c05 /* jump -> 0xee830c81 */ 00000c05 00000c10 int32_t edx = *(uint32_t*)(arg3 * 5); 00000c14 *(uint8_t*)((char*)arg1 - 0xc76011e) += 1; 00000c1a void* ebx; 00000c1a int32_t* ebx_1 = (char*)ebx + edx; 00000c1f uint32_t ebp; 00000c1f bool c; 00000c1f int16_t es; 00000c1f 00000c1f if (*(uint8_t*)arg4 & 1) 00000c1f { 00000c8f ebx_1[arg3] = edx; 00000c92 ebp = arg5; 00000c93 arg5 = (uint32_t)es; 00000c93 00000c96 if (__return_addr >= ebx_1) 00000c98 /* jump -> 0x773b0d0e */ 00000c98 00000c9b int32_t temp6_1 = *(uint32_t*)(arg4 + 2); 00000c9b c = __return_addr < temp6_1; 00000c9b 00000c9e if (__return_addr == temp6_1 || c) 00000c9e { 00000ca0 ebx_1 = *(uint32_t*)(ebp + 0x14); 00000ca3 c = __return_addr < ebx_1; 00000ca3 00000ca5 if (!c) 00000ca5 { 00000caa int32_t ebx_4 = *(uint32_t*)(arg4 + 0xe); 00000cb0 int32_t* edi_3 = *(uint32_t*)((char*)__return_addr - 2); 00000cb3 *(uint32_t*)((char*)__return_addr - 8) = ebx_4 + 1; 00000cb6 int32_t eax_8 = *(uint32_t*)(ebp + 0xc); 00000cbb *(uint32_t*)((char*)__return_addr - 6) = eax_8; 00000cbe uint32_t temp0_1 = COMBINE(0, eax_8) / *(uint32_t*)((char*)__return_addr - 8); 00000cc5 int32_t i; 00000cc5 00000cc5 if (temp0_1 >= ebx_4) 00000cc5 { 00000cee label_cee: 00000cee i = *(uint32_t*)((char*)edi_3 + 6); 00000cee 00000cf3 if (__return_addr < i) 00000d2a i = edi_3[5]; 00000cc5 } 00000cc5 else 00000cc5 { 00000cca int32_t eax_11 = *(uint32_t*)((char*)__return_addr - 6) - ebx_4; 00000ccc uint32_t edx_5 = temp0_1 << 1; 00000ccc 00000cd0 if (eax_11 > ebx_4) 00000cd0 { 00000cd2 int32_t ebx_5 = *(uint32_t*)((char*)arg3 + eax_11); 00000cd5 int32_t eax_12 = *(uint32_t*)edi_3; 00000cd5 00000cda while (true) 00000cda { 00000cda if (!(eax_12 & 1)) 00000cda goto label_cdc; 00000cda 00000ce4 eax_12 &= 0xfe; 00000ce6 ebx_5 += eax_12; 00000ce8 uint32_t temp7_1 = edx_5; 00000ce8 edx_5 -= 1; 00000ce8 00000ce9 if (temp7_1 == 1) 00000ce9 break; 00000ce9 00000cd6 eax_12 = *(uint32_t*)edi_3; 00000cda } 00000cda 00000cda goto label_cee; 00000cd0 } 00000cd0 00000d2a i = edi_3[5]; 00000cc5 } 00000cc5 00000cf7 for (; __return_addr >= i; i = edi_3[1]) 00000cf7 { 00000cfe if (__return_addr < edi_3[1]) 00000cfe break; 00000cfe 00000d05 if (__return_addr < edi_3[1]) 00000d05 break; 00000cf7 } 00000cf7 00000cdc label_cdc: 00000cdc /* jump -> 0xff3e0c41 */ 00000ca5 } 00000c9e } 00000c1f } 00000c1f else 00000c1f { 00000c21 int32_t temp5_1 = *(uint32_t*)arg4; 00000c21 c = edx + temp5_1 < edx; 00000c23 *(uint32_t*)((char*)ebx_1 + arg4) = edx + *(uint32_t*)arg4; 00000c26 ebp = arg5; 00000c27 arg5 = (uint32_t)es; 00000c27 00000c28 if (edx == -(temp5_1)) 00000c2a *(uint32_t*)(ebp + 6) = __return_addr; 00000c2a 00000c2d void* edi = *(uint32_t*)(arg4 + 2); 00000c30 ebx_1 = *(uint32_t*)((char*)edi + 4); 00000c33 *(uint32_t*)(ebp + 4) = ebx_1; 00000c36 *(uint32_t*)((char*)edi + 2) = edi; 00000c39 arg4 = *(uint32_t*)((char*)__return_addr - 2); 00000c3c *(uint32_t*)(ebp + 0xe) -= 1; 00000c1f } 00000c3f void* edi_1 = *(uint32_t*)(arg4 + 2); 00000c47 bool cond:1 = *(uint32_t*)((char*)ebx_1 + arg1) + 0x39fc7e89; 00000c4c int32_t eflags; 00000c4c int32_t eax_1; 00000c4c eax_1 = __salc(eflags); 00000c4c 00000c4d if (cond:1) 00000c8c /* jump -> 0x14890d31 */ 00000c8c 00000c55 int32_t eax_3 = eax_1 + *(uint32_t*)0x89fe5e8b + 0x7506573b; 00000c5a void* __return_addr_1 = (char*)arg3 + *(uint32_t*)((char*)arg3 + 0x768b067f); 00000c61 *(uint32_t*)((char*)__return_addr - 2); 00000c64 *(uint32_t*)((char*)edi_1 + 0xc) -= 1; 00000c64 00000c6f if (__return_addr < *(uint32_t*)((char*)edi_1 + 6) && eax_3 > *(uint32_t*)((char*)edi_1 + 8)) 00000c71 *(uint32_t*)((char*)edi_1 + 8) = eax_3; 00000c71 00000c74 *(uint32_t*)((char*)__return_addr - 2); 00000c74 00000c7a if (eax_3 > *(uint32_t*)((char*)edi_1 + 0xa)) 00000c7c *(uint32_t*)((char*)edi_1 + 0xa) = eax_3; 00000c7c 00000c81 __return_addr = __return_addr_1; 00000c87 *(uint32_t*)ebp; 00000c88 *(uint32_t*)(ebp + 4); 00000c89 *(uint32_t*)(ebp + 8); 00000c8a *(uint32_t*)(ebp + 0xc); 00000c8b int16_t result; 00000c8b return result; 00000c0a } 00000c9d int32_t __convention("regparm") sub_c9d(int32_t arg1, int16_t arg2, int32_t* arg3, int32_t* arg4 @ ebp, void* arg5 @ esi, void* arg6 @ edi) 00000c9d { 00000c9d *(uint8_t*)((char*)arg2)[1] += *(uint8_t*)((char*)arg6 - 0x61); 00000ca0 int32_t* ebx = arg4[5]; 00000ca3 bool c = arg5 < ebx; 00000ca3 00000ca5 if (c) 00000ca5 { 00000c3f void* edi_1 = *(uint32_t*)((char*)arg6 + 2); 00000c47 bool cond:0 = *(uint32_t*)((char*)ebx + arg1) + 0x39fc7e89; 00000c4c int32_t eflags; 00000c4c int32_t eax_8; 00000c4c eax_8 = __salc(eflags); 00000c4c 00000c4d if (cond:0) 00000c8c /* jump -> 0x14890d31 */ 00000c8c 00000c55 int32_t eax_10 = eax_8 + *(uint32_t*)0x89fe5e8b + 0x7506573b; 00000c5a int16_t ecx = arg3 + (int16_t)*(uint32_t*)((char*)arg3 + 0x768b067f); 00000c61 *(uint32_t*)((char*)arg5 - 2); 00000c64 *(uint32_t*)((char*)edi_1 + 0xc) -= 1; 00000c64 00000c6f if (arg5 < *(uint32_t*)((char*)edi_1 + 6) && eax_10 > *(uint32_t*)((char*)edi_1 + 8)) 00000c71 *(uint32_t*)((char*)edi_1 + 8) = eax_10; 00000c71 00000c74 *(uint32_t*)((char*)arg5 - 2); 00000c74 00000c7a if (eax_10 > *(uint32_t*)((char*)edi_1 + 0xa)) 00000c7c *(uint32_t*)((char*)edi_1 + 0xa) = eax_10; 00000c7c 00000c81 int16_t var_4 = ecx; 00000c87 *(uint32_t*)arg4; 00000c87 arg4[1]; 00000c88 arg4[2]; 00000c89 arg4[3]; 00000c8b int16_t result; 00000c8b return result; 00000ca5 } 00000ca5 00000caa int32_t ebx_1 = *(uint32_t*)((char*)arg6 + 0xe); 00000cb0 int32_t* edi = *(uint32_t*)((char*)arg5 - 2); 00000cb3 *(uint32_t*)((char*)arg5 - 8) = ebx_1 + 1; 00000cb6 int32_t eax_2 = arg4[3]; 00000cbb *(uint32_t*)((char*)arg5 - 6) = eax_2; 00000cbe uint32_t temp0 = COMBINE(0, eax_2) / *(uint32_t*)((char*)arg5 - 8); 00000cc5 int32_t i; 00000cc5 00000cc5 if (temp0 >= ebx_1) 00000cc5 { 00000cee label_cee: 00000cee i = *(uint32_t*)((char*)edi + 6); 00000cee 00000cf3 if (arg5 < i) 00000d2a i = edi[5]; 00000cc5 } 00000cc5 else 00000cc5 { 00000cca int32_t eax_5 = *(uint32_t*)((char*)arg5 - 6) - ebx_1; 00000ccc uint32_t edx_2 = temp0 << 1; 00000ccc 00000cd0 if (eax_5 > ebx_1) 00000cd0 { 00000cd2 int32_t ebx_2 = *(uint32_t*)((char*)arg3 + eax_5); 00000cd5 int32_t eax_6 = *(uint32_t*)edi; 00000cd5 00000cda while (true) 00000cda { 00000cda if (!(eax_6 & 1)) 00000cda goto label_cdc; 00000cda 00000ce4 eax_6 &= 0xfe; 00000ce6 ebx_2 += eax_6; 00000ce8 uint32_t temp3_1 = edx_2; 00000ce8 edx_2 -= 1; 00000ce8 00000ce9 if (temp3_1 == 1) 00000ce9 break; 00000ce9 00000cd6 eax_6 = *(uint32_t*)edi; 00000cda } 00000cda 00000cda goto label_cee; 00000cd0 } 00000cd0 00000d2a i = edi[5]; 00000cc5 } 00000cc5 00000cf7 for (; arg5 >= i; i = edi[1]) 00000cf7 { 00000cfe if (arg5 < edi[1]) 00000cfe break; 00000cfe 00000d05 if (arg5 < edi[1]) 00000d05 break; 00000cf7 } 00000cf7 00000cdc label_cdc: 00000cdc /* jump -> 0xff3e0c41 */ 00000c9d } 00000ce1 void __convention("regparm") sub_ce1(int32_t arg1, int32_t, char* arg3, int32_t arg4 @ edi) 00000ce1 { 00000ce1 int32_t var_4 = *(uint32_t*)(arg4 + arg1 + 0x24); 00000ce5 *(uint8_t*)arg3 += 1; 00000ce1 } 00000ce8 int32_t __convention("fastcall") sub_ce8(int32_t, int32_t arg2, void* arg3 @ esi, int32_t* arg4 @ edi) 00000ce8 { 00000ce8 while (true) 00000ce8 { 00000ce8 int32_t temp0_1 = arg2; 00000ce8 arg2 -= 1; 00000ce8 00000ce9 if (temp0_1 == 1) 00000ce9 { 00000cee int32_t i = *(uint32_t*)((char*)arg4 + 6); 00000cee 00000cf3 if (arg3 < i) 00000d2a i = arg4[5]; 00000d2a 00000cf7 for (; arg3 >= i; i = arg4[1]) 00000cf7 { 00000cfe if (arg3 < arg4[1]) 00000cfe break; 00000cfe 00000d05 if (arg3 < arg4[1]) 00000d05 break; 00000cf7 } 00000cf7 00000cdc /* jump -> 0xff3e0c41 */ 00000ce9 } 00000ce9 00000cd6 int32_t eax_1 = *(uint32_t*)arg4; 00000cd6 00000cda if (!(eax_1 & 1)) 00000cdc /* jump -> 0xff3e0c41 */ 00000cdc 00000ce4 eax_1 &= 0xfe; 00000ce6 int32_t ebx = ebx + eax_1; 00000ce8 } 00000ce8 } 00000d0c 8b 5f 04 39 de 72 c9 89 fb 8b 47 12 83 c3 10 39 c6 76 88 e9 ._.9.r....G....9.v.. 00000d20 1d ff .. 00000d2f 8b 7e fe ff 45 0e 8b 7e fc 89 5c 04 89 7c 02 89 75 .~..E..~..\..|..u 00000d40 04 89 77 02 e9 1a ff 53 56 57 89 c6 8b 1e a2 08 31 ff 85 db 74 0b 39 de 72 07 89 df 8b 5f 04 eb ..w....SVW......1...t.9.r...._.. 00000d60 f1 89 7c 02 89 5c 04 85 ff 74 3d 89 75 04 85 db 75 3c 8d 7c 10 8b 1c 83 c6 ..|..\...t=.u...u<.|..... 00000d79 int32_t __convention("regparm") sub_d79(char* arg1, int32_t arg2, int32_t arg3 @ esi, int32_t* arg4 @ edi) 00000d79 { 00000d79 int16_t ss; 00000d79 uint32_t var_4 = (uint32_t)ss; 00000d7a *(uint32_t*)(arg2 + (arg4 << 3)) = 0xf244c700; 00000d82 *(uint8_t*)arg1 += arg1; 00000d84 *(uint32_t*)(arg3 * 9) = 0xf844c700; 00000d8c char i = *(uint8_t*)arg1; 00000d8c *(uint8_t*)arg1 += arg1; 00000d8e void var_7b; 00000d8e *(uint32_t*)(&var_7b + (arg4 << 3)) = arg4; 00000d8e 00000d8c while (i < -(arg1)) 00000d8c /* nop */ 00000d8c 00000d97 *(uint32_t*)(arg1 + (arg3 << 3) - 0x77) = arg4; 00000da0 *(uint32_t*)arg4 = 0x5e5fffff; 00000da7 return arg3; 00000d79 } 00000da8 89 36 a2 08 eb c0 89 77 02 eb bf 53 a1 a2 08 85 c0 74 14 89 c3 8b 5f 12 .6.....w...S.....t...._. 00000dc0 8b 07 01 d8 05 02 00 3b 06 c6 .......;.. 00000dca int32_t sub_dca(void* arg1 @ ebp, int32_t arg2 @ esi, int32_t* arg3 @ edi) 00000dca { 00000dca *(uint32_t*)((char*)arg1 + 4) |= arg2; 00000dd0 return *(uint32_t*)arg3; 00000dca } 00000dd1 int32_t sub_dd1() __pure 00000dd1 { 00000dd4 return 0; 00000dd1 } 00000dd5 int32_t __convention("fastcall") sub_dd5(int32_t arg1, int32_t arg2, int32_t* arg3 @ edi) 00000dd5 { 00000dd9 int32_t eax_1 = *(uint32_t*)arg3; 00000de0 int32_t edx_1; 00000de0 edx_1 = (eax_1 + 3) & 0xfe; 00000de0 00000de5 if (edx_1 >= eax_1) 00000de5 { 00000dec int32_t eax_3; 00000dec int32_t edx_3; 00000dec eax_3 = 0xd03a0db5(arg2); 00000df1 int32_t edx_4; 00000df1 00000df1 if (edx_1 < eax_1) 00000e16 edx_4 = edx_3 - eax_3; 00000df1 else 00000df3 edx_4 = 0; 00000df3 00000df5 *(uint32_t*)arg3 = edx_4; 00000df7 int32_t edx_5 = edx_4 + 0x1e; 00000dfa int32_t temp0_1 = *(uint32_t*)arg3; 00000dfa 00000dfc if (edx_5 >= temp0_1) 00000dfc { 00000e03 if (edx_5 < temp0_1) 00000e07 edx_5 = (*(uint32_t*)0xc23909f4) & 0xfe; 00000e07 00000e0a *(uint32_t*)arg3 = edx_5; 00000e0a 00000e0e if (edx_5) 00000e15 return 0x5b5a0001; 00000dfc } 00000de5 } 00000de5 00000deb return 0; 00000dd5 } 00000e1a 53 56 57 55 89 e5 SVWU.. 00000e20 50 a1 f6 09 85 c0 74 09 83 3e c6 09 fe 75 08 P.....t..>...u. 00000e39 fe e8 98 ff 85 c0 74 ......t 00000e40 f0 8b 5e fe 03 1e c6 09 3b 1e c6 09 73 03 bb fe ff 89 d8 e8 ae 16 3d ff ff 74 d4 89 c6 ..^.....;...s.........=..t... 00000e5d int32_t __convention("regparm") sub_e5d(int32_t arg1, int32_t arg2, float* arg3, int32_t* arg4 @ ebp, int32_t* arg5 @ esi, int32_t* arg6 @ edi, long double arg7 @ st0) 00000e5d { 00000e64 int32_t ebx; 00000e64 00000e64 if (ebx > arg1) 00000e64 { 00000e66 int32_t ebx_1 = ebx - arg1; 00000e68 *(uint32_t*)((char*)arg5 - 2) = ebx_1; 00000e68 00000e70 if ((char*)arg6 - 2 <= ebx_1) 00000e70 { 00000e72 int32_t ebx_2 = *(uint32_t*)arg5; 00000e74 *(uint32_t*)0xfe468908 = ((char*)arg6 - 2); 00000e74 00000e81 if (ebx_2 && arg6[1]) 00000e81 { 00000ec1 if (ebx_2 > arg5) 00000ec1 /* tailcall */ 00000ec1 return sub_ec3(); 00000ec1 00000ed1 if (*(uint32_t*)arg6 + ebx_2 >= 0xfc6fffe) 00000ed3 /* tailcall */ 00000ed3 return sub_ec3(); 00000e81 } 00000e81 00000e85 if (!ebx_2) 00000edd /* jump -> 0x48a0e31 */ 00000edd 00000e87 *(uint32_t*)arg6; 00000e8d *(uint32_t*)arg3; 00000e8f /* undefined */ 00000e70 } 00000e64 } 00000e64 00000e33 *(uint32_t*)arg4; 00000e34 /* jump -> 0x468e0da6 */ 00000e5d } 00000e90 75 43 83 46 fe 02 89 c6 8b 46 fe 01 07 03 7e fe uC.F.....F....~. 00000ea0 c7 05 ff ff 8b 46 fe 0c 01 89 04 c7 47 0a ff ff 8d 44 02 ff 47 0c e8 a0 f6 b8 01 00 e9 72 ff .....F......G....D..G........r. 00000ec3 int32_t __convention("fastcall") sub_ec3(float* arg1, void* arg2 @ esi, int32_t* arg3 @ edi, long double arg4 @ st0) 00000ec3 { 00000ec3 int32_t ebx_1; 00000ec3 00000ec3 while (true) 00000ec3 { 00000ec3 ebx_1 = arg3[1]; 00000ec3 00000e7b if (!ebx_1) 00000e7b break; 00000e7b 00000e81 if (!arg3[1]) 00000e81 break; 00000e81 00000ec1 if (ebx_1 <= arg2) 00000ec1 { 00000ed1 if (*(uint32_t*)arg3 + ebx_1 < 0xfc6fffe) 00000ed1 break; 00000ec1 } 00000ec3 } 00000ec3 00000e85 if (!ebx_1) 00000edd /* jump -> 0x48a0e31 */ 00000edd 00000e87 *(uint32_t*)arg3; 00000e8d *(uint32_t*)arg1; 00000e8f /* undefined */ 00000ec3 } 00000ee2 89 f0 89 f3 e8 5e fe 89 c7 89 c6 8b 05 89 46 fe eb b0 53 52 55 89 e5 89 c3 83 3f 00 75 06 .....^........F...SRU.....?.u. 00000f00 89 ec 5d 5a 5b c3 1e ff 17 1f eb f4 ..]Z[....... 00000f0c int32_t __convention("fastcall") sub_f0c(int32_t arg1, int16_t arg2, int32_t arg3 @ edi) 00000f0c { 00000f14 int32_t result = *(uint32_t*)(arg2 + arg3 + 2); 00000f21 int16_t ds; 00000f21 00000f21 if (result || *(uint32_t*)(arg2 + arg3)) 00000f29 result = (*(uint6_t*)(arg2 + arg3))((uint32_t)ds); 00000f27 return result; 00000f0c } 00000f2f e8 01 00 cb 53 51 52 56 57 55 89 e5 89 c1 1e e8 a5 ....SQRVWU....... 00000f40 fb bf 56 0a bb 3e 0a 89 fe 88 c8 81 fb 56 0a 73 16 80 3f 02 75 05 83 c3 06 eb f0 3a 47 01 72 f6 ..V..>.......V.s..?.u......:G.r. 00000f60 89 de 8a 47 01 eb ef 81 fe 56 0a 74 17 8d 44 02 80 3c 00 75 08 e8 7c ff c6 04 02 eb c7 8c da e8 ...G.....V.t..D..<.u..|......... 00000f80 8a ff eb f4 1f 89 ec 5d 5f 5e 5a 59 5b c3 e8 01 00 cb 53 51 56 57 55 89 e5 89 c1 1e 88 cd e8 45 .......]_^ZY[.....SQVWU........E 00000fa0 fb 88 d1 bf 62 0a bb 56 0a 89 fe 88 e8 81 fb 62 0a 73 16 80 3f 02 75 05 83 c3 06 eb f0 3a 47 01 ....b..V.......b.s..?.u......:G. 00000fc0 77 f6 89 de 8a 47 01 eb ef 81 fe 62 0a 74 1e 3a 4c 01 73 05 c6 04 02 eb cd 8d 44 02 80 3c 00 75 w....G.....b.t.:L.s.......D..<.u 00000fe0 05 e8 10 ff eb ee 8c da e8 21 ff eb e7 1f 89 ec 5d 5f 5e 59 5b c3 53 89 c3 89 d0 8b 17 e8 3a f6 .........!......]_^Y[.S.......:. 00001000 ff 47 0a 5b c3 51 56 57 55 89 e5 83 ec 04 89 c6 89 d7 89 da 8b 5c 04 8b 47 06 3d 01 00 74 0c 85 .G.[.QVWU............\..G.=..t.. 00001020 c0 74 03 e9 72 00 c7 47 06 01 00 8b 44 06 30 e4 8b 5c 04 24 30 80 64 06 cf 89 46 fc 83 7f 04 00 .t..r..G....D.0..\.$0.d...F..... 00001040 75 05 89 f0 e8 24 01 c7 46 fe 00 00 f6 44 07 04 74 0d 80 64 07 fa c7 46 fe 01 00 80 4c 07 01 b9 u....$..F....D..t..d...F....L... 00001060 c6 0f 89 d3 89 f0 89 fa e8 ed 14 89 c2 83 7e fe 00 74 0d 80 64 07 fa 89 f0 80 4c 07 04 e8 57 01 ..............~..t..d.....L...W. 00001080 f6 44 06 20 74 03 ba ff .D. t... 00001088 int32_t __convention("fastcall") sub_1088(int32_t arg1, int32_t arg2, int32_t* arg3 @ ebp) 00001088 { 00001088 void* ebx; 00001088 *(uint32_t*)((char*)ebx + 0x4409fc46) -= 1; 0000108e int16_t es; 0000108e uint32_t var_4 = (uint32_t)es; 00001093 *(uint32_t*)arg3; 00001093 arg3[1]; 00001094 arg3[2]; 00001095 arg3[3]; 00001097 return arg2; 00001088 } 00001098 31 c0 eb f5 1... 0000109c int32_t __convention("regparm") sub_109c(char arg1, char* arg2 @ esi) 0000109c { 0000109c int32_t ebx; 0000109c int32_t var_4 = ebx; 0000109e char* var_c = arg2; 000010a0 *(uint8_t*)arg2 &= 0xcf; 000010aa /* undefined */ 0000109c } 000010ab 08 04 8b 44 06 85 c0 75 08 a3 b6 0a 5f 5e 5a 5b c3 b8 0c 00 e8 ...D...u...._^Z[..... 000010c0 77 f3 85 c0 75 41 b8 0c 00 e8 6d f3 89 c7 85 c0 74 28 a1 b4 0a 89 75 02 89 05 89 7c 04 c7 45 04 w...uA....m.....t(....u....|..E. 000010e0 00 00 89 3e b4 0a 8b 7c 04 c6 45 0a 00 8b 7c 04 83 c6 ...>...|..E...|... 000010f2 int32_t __convention("fastcall") sub_10f2(int32_t arg1, int32_t arg2, void* arg3 @ ebp) 000010f2 { 000010f2 int16_t cs; 000010f2 uint32_t var_4 = (uint32_t)cs; 000010f3 *(uint32_t*)((char*)arg3 + 6) = 0xb3eb0000; 000010ff *(uint32_t*)(arg2 + 0x11b9eef0); 00001106 /* undefined */ 000010f2 } 00001107 89 c7 eb c7 .... 0000110b int32_t __convention("regparm") sub_110b(int32_t arg1, int32_t* arg2 @ esi) 0000110b { 0000110e int32_t* var_10 = arg2; 00001118 int32_t edx_1 = arg1 << 4; 0000111f int32_t result = 0; 00001121 int32_t ebx_2 = *(uint32_t*)arg2; 00001123 *(uint8_t*)((char*)arg1)[1] = 0xa; 00001123 00001127 while (true) 00001127 { 00001127 bool cond:0_1 = ebx_2; 00001127 00001129 if (!ebx_2) 00001129 break; 00001129 0000112d ebx_2 = *(uint32_t*)(edx_1 - 0x25d6f752); 00001130 arg1 = *(uint8_t*)(edx_1 - 0x25d6f74d); 00001130 0000114a if (!cond:0_1 && !(arg1 & 8) && ebx_2 < 0xda2908ac + edx_1) 0000114a { 00001144 ebx_2 = *(uint32_t*)(0xda2908ac + edx_1); 00001146 continue; 0000114a } 0000114a 00001140 arg1 = 0x8941313a(); 00001127 } 00001127 0000115d return result; 0000110b } 0000115e b8 05 .. 00001160 00 eb a8 31 c0 e8 a3 ff e9 2d 20 53 56 89 c3 e8 4a 20 83 7f 0a 00 75 0c 8a 47 07 a8 02 74 40 c7 ...1.....- SV...J ....u..G...t@. 00001180 47 0a 86 00 8b 47 0a e8 af f2 8b 77 04 89 44 04 8b 77 04 83 7c 04 00 75 38 80 67 07 f8 8d 47 0c G....G.....w..D..w..|..u8.g...G. 000011a0 8b 77 04 80 4f 07 04 89 44 04 c7 47 0a 01 00 8b 77 04 8b 44 04 c7 47 02 00 00 89 07 5e 5b c3 a8 .w..O...D..G....w..D..G.....^[.. 000011c0 04 74 07 c7 47 0a 40 00 eb ba c7 47 0a 00 02 eb b3 80 4f 06 08 eb d8 .t..G.@....G......O.... 000011d7 int32_t __convention("regparm") sub_11d7(char* arg1, char* arg2, char* arg3, int32_t arg4 @ esi, int32_t arg5 @ edi, char arg6) 000011d7 { 000011d7 void* ebx; 000011d7 void* var_4 = ebx; 000011d8 char* var_8 = arg3; 000011d9 char* var_c = arg2; 000011db int32_t var_14 = arg5; 000011dc int32_t ebp; 000011dc int32_t var_18 = ebp; 000011e2 char* esi = arg1; 000011e4 *(uint32_t*)(esi - 2) = 0x44f60000; 000011eb int32_t* esp = &var_18; 000011ec *(uint8_t*)((char*)ebx + arg1 - 0x17) = *(uint8_t*)((char*)ebx + arg1 - 0x17) + *(uint8_t*)((char*)arg2)[1]; 000011f0 int32_t eflags; 000011f0 uint8_t* edi; 000011f0 uint8_t temp0; 000011f0 temp0 = __insb(arg5, arg2, eflags); 000011f0 *(uint8_t*)edi = temp0; 000011f1 *(uint8_t*)((char*)ebx + 0x7f83045c) += arg3; 000011f7 char temp2 = arg1; 000011f7 arg1 = arg1; 000011f9 char* ebx_2; 000011f9 int16_t es_1; 000011f9 000011f9 if (temp2) 000011f9 { 000011fb *(uint8_t*)(esi + arg1 - 0x11) &= 0xf6; 00001201 es_1 = *(uint16_t*)((char*)var_18)[1]; 00001201 esp = &*(uint32_t*)((char*)var_18)[3]; 00001202 arg6 &= *(uint8_t*)((char*)arg2)[1]; 00001205 arg1 = *(uint32_t*)(arg2 + arg1 - 0x67); 0000120b ebx_2 = arg2 | arg1; 0000120b 0000120d if (ebx_2) 0000120d { 0000120f arg3 = arg2; 00001211 ebx_2 = arg1; 00001213 arg2 = 0xd9f70001; 00001218 arg1 = *(uint32_t*)(arg1 + arg3 - 9); 0000121c *(uint32_t*)(ebx_2 - 0x4117ff27); 00001222 esp = &*(uint32_t*)((char*)var_14)[1]; 0000120d } 000011f9 } 000011f9 00001226 if (!temp2 || arg2 != 0xffffffff) 00001236 *(uint32_t*)((char*)esp + arg1 - 0x75); 00001226 else 00001226 { 0000122d *(uint32_t*)(esi - 2) = 0x4c80ffff; 00001234 *(uint32_t*)((char*)esp - 4) = (uint32_t)es_1; 00001234 esp -= 4; 00001235 ebx_2[0x478b045c] &= arg3; 00001226 } 00001226 0000123b arg1 -= 0x39; 0000123e arg1 += *(uint8_t*)arg1; 00001240 arg3[0xfe7e8304] += arg3; 00001246 int32_t var_10; 00001246 *(uint8_t*)((char*)var_10)[1] = *(uint8_t*)((char*)arg4)[1] + *(uint8_t*)((char*)arg2)[1]; 00001249 *(uint32_t*)((char*)esp + 1 + arg1 - 0xa); 0000124e char temp3 = *(uint8_t*)arg3 | arg1; 0000124e *(uint8_t*)arg3 = temp3; 0000124e 000012b9 if (temp3 && !temp3) 000012bb *(uint32_t*)(esi - 2) = *(uint32_t*)(arg1 + arg3 - 0x18); 000012bb 0000125d return *(uint32_t*)(esi - 2); 000011d7 } 0000125e int32_t __convention("regparm") sub_125e(int16_t* arg1, int16_t* arg2, void* arg3, void** arg4 @ ebp, void* arg5 @ esi, int16_t* arg6 @ edi) 0000125e { 0000125e *(uint8_t*)((char*)arg6 + arg1 - 0x11) &= 0xf6; 00001264 int16_t es; 00001264 uint32_t var_3 = (uint32_t)es; 00001264 uint32_t* esp = &var_3; 00001265 char temp0 = *(uint8_t*)((char*)arg2)[1]; 00001265 *(uint8_t*)((char*)arg2)[1] += *(uint8_t*)((char*)arg5 + (arg3 << 3) - 0x75); 00001269 bool cond:1; 00001269 00001269 if (temp0 < -(*(uint8_t*)((char*)arg5 + (arg3 << 3) - 0x75))) 00001269 { 0000126f void var_7a; 0000126f char temp2_1 = *(uint8_t*)(&var_7a + (arg1 << 3)) << 0xc7; 0000126f *(uint8_t*)(&var_7a + (arg1 << 3)) = temp2_1; 0000126f cond:1 = !temp2_1; 00001274 label_1274: 00001274 arg3 = *(uint32_t*)((char*)arg2 + arg1 - 0x7b); 00001278 void** esp_1 = arg4; 00001278 arg4 = *(uint32_t*)esp_1; 00001278 esp = &esp_1[1]; 00001278 00001279 for (; !cond:1; cond:1 = !arg3) 00001279 { 0000127f if (*(uint32_t*)((char*)arg5 - 2)) 0000127f break; 0000127f 00001285 arg1 = *(uint32_t*)((char*)arg1 + arg3 - 0x18); 00001289 *(uint16_t*)arg6; 0000128b arg2 = arg1; 00001292 *(uint32_t*)((char*)arg5 - 2) = arg1; 00001295 *(uint8_t*)((char*)arg5 + arg1 + 0x20) |= 1; 0000129a arg1 = *(uint8_t*)((char*)arg3 + arg1); 0000129b arg3 -= arg2; 00001279 } 00001269 } 00001269 else 00001269 { 0000126b arg1 = arg4[1]; 0000126e cond:1 = !arg1; 0000126e 00001270 if (arg1) 00001270 { 00001272 arg6 = arg1; 00001272 goto label_1274; 00001270 } 00001269 } 0000123b arg1 -= 0x39; 0000123e arg1 += *(uint8_t*)arg1; 00001240 *(uint8_t*)((char*)arg3 - 0x1817cfc) += arg3; 00001246 *(uint8_t*)((char*)arg4 + 9) += *(uint8_t*)((char*)arg2)[1]; 00001249 *(uint32_t*)((char*)esp + 1 + arg1 - 0xa); 0000124e char temp4 = *(uint8_t*)arg3 | arg1; 0000124e *(uint8_t*)arg3 = temp4; 0000124e 000012b9 if (temp4 && !temp4) 000012bb *(uint32_t*)((char*)arg5 - 2) = *(uint32_t*)((char*)arg1 + arg3 - 0x18); 000012bb 00001257 *(uint32_t*)arg4; 00001257 arg4[1]; 00001258 arg4[2]; 00001259 arg4[3]; 0000125a arg4[4]; 0000125b arg4[5]; 0000125d return *(uint32_t*)((char*)arg5 - 2); 0000125e } 0000129f 85 . 000012a0 c0 75 f6 b8 0c 00 c7 46 fe ff ff e8 12 00 eb e5 .u.....F........ 000012c0 53 52 89 c2 e8 ab 1f 89 c3 89 17 5a 5b c3 53 e8 a0 1f 89 c3 c7 07 0d 00 5b c3 53 e8 94 1f 89 c3 SR.........Z[.S.........[.S..... 000012e0 c7 07 0e 00 5b c3 53 e8 88 1f 89 c3 b8 ff ff c7 07 09 00 5b c3 53 52 89 c2 e8 7a 1f eb c9 53 52 ....[.S............[.SR...z...SR 00001300 56 89 c6 8b 5c 04 83 7f 04 00 74 4c 8a 44 07 a8 20 74 0a a8 06 74 06 b8 00 20 e8 5d 1f 8b 5c 04 V...\.....tL.D.. t...t... .]..\. 00001320 80 64 06 fb 8b 47 04 89 04 8b 44 06 30 c0 80 e4 24 3d 00 24 75 32 8b 44 08 85 c0 75 2b 89 44 02 .d...G....D.0...$=.$u2.D...u+.D. 00001340 e8 6d 1f 89 c2 3d ff ff 75 13 8b 44 02 85 c0 7e 32 8b 44 02 5e 5a 5b c3 e8 10 fe eb af 8b 1c 88 .m...=..u..D...~2.D.^Z[......... 00001360 07 c7 44 02 01 00 eb e9 f6 44 07 04 74 10 bb 01 00 8b 14 8b 44 08 e8 4c 1f 89 44 02 eb cc 8b 5c ..D......D..t.......D..L..D....\ 00001380 0a eb ee 75 06 80 4c 06 10 eb c6 c7 44 02 00 00 80 4c 06 20 eb bb 53 89 c3 e8 62 ff 85 c0 75 05 ...u..L.....D....L. ..S...b...u. 000013a0 b8 ff .. 000013a2 int32_t sub_13a2(int32_t* arg1 @ edi) // This function has unresolved stack usage. View graph of stack usage to resolve. 000013a2 { 000013a2 int32_t ebx; 000013a2 (*(uint6_t*)(ebx - 0x3d))(); 000013a5 *(uint32_t*)((char*)arg1 + 2) -= 1; 000013a8 *(uint32_t*)arg1 += 1; 000013ac int32_t result; 000013ac result = *(uint8_t*)((char*)arg1 - 1); 000013af *(uint8_t*)((char*)result)[1] = 0; 000013b2 return result; 000013a2 } 000013b3 53 56 89 c3 8b 77 04 8b 44 06 3d 01 00 SV...w..D.=.. 000013c0 74 09 85 c0 75 44 c7 44 06 01 00 f6 47 06 01 75 3f b8 04 00 e8 e9 fe t...uD.D....G..u?...... 000013d7 void* __convention("fastcall") sub_13d7(int32_t arg1, int16_t arg2, void* arg3 @ ebp, void* arg4 @ edi) 000013d7 { 000013dc int16_t es; 000013dc uint32_t var_4 = (uint32_t)es; 000013dd *(uint8_t*)((char*)arg2)[1] = *(uint8_t*)((char*)arg2)[1]; 000013e0 uint32_t var_8 = (uint32_t)es; 00001409 return 0x4f810000; 000013d7 } 0000140a b8 ff ff 5e 5b c3 ...^[. 00001410 void* __convention("regparm") sub_1410(int32_t arg1, void* arg2 @ ebp, int32_t* arg3 @ edi, int32_t arg4) 00001410 { 00001410 *(uint32_t*)((char*)arg3 + 2) -= 1; 00001417 uint32_t var_4; 00001417 uint32_t ebx; 00001417 int32_t esi; 00001417 00001417 if (*(uint32_t*)((char*)arg3 + 2) < 0) 00001426 0xb3ec1398(); 00001417 else 00001417 { 00001419 esi = *(uint32_t*)arg3; 0000141b arg1 = *(uint8_t*)(esi + (arg1 << 1)); 0000141e *(uint8_t*)((char*)arg1)[1] = 0; 00001420 *(uint32_t*)arg3 = esi; 00001420 000013e2 if (*(uint8_t*)((char*)arg3 + 6) & 0x40) 00001409 return arg1; 00001409 000013e9 *(uint32_t*)((char*)arg3 + 2) -= 1; 000013e9 000013f0 if (*(uint32_t*)((char*)arg3 + 2) >= 0) 000013f0 { 000013f2 void* esi_6 = *(uint32_t*)arg3; 000013f4 arg1 = *(uint8_t*)((char*)esi_6 + (arg1 << 1)); 000013f7 *(uint8_t*)((char*)arg1)[1] = 0; 000013f9 *(uint32_t*)arg3 = esi_6; 00001405 int16_t es; 00001405 var_4 = (uint32_t)es; 00001406 *(uint8_t*)((char*)esi_6 + 0x5b) = *(uint8_t*)((char*)esi_6 + 0x5b) + ebx; 00001409 return 0x4f80ffff; 000013f0 } 00001417 } 00001417 0000142d int32_t eax_2; 0000142d int32_t ecx; 0000142d int32_t edx; 0000142d eax_2 = 0xc9ec1398(); 00001432 var_4 = ebx; 00001433 int32_t var_8 = ecx; 00001434 int32_t var_c = esi; 00001434 int32_t* esp = &var_c; 00001435 int32_t ecx_1 = eax_2; 0000143e int32_t esi_1 = arg3[1]; 00001441 int32_t* eax_3 = *(uint32_t*)(esi_1 + eax_2 + 0x3d); 00001445 int32_t temp0 = *(uint32_t*)eax_3; 00001445 *(uint32_t*)eax_3 += eax_3; 00001445 00001447 if (temp0 != -(eax_3)) 00001447 { 0000144b if (eax_3) 0000144b goto label_149f; 0000144b 0000144d *(uint32_t*)(esi_1 + eax_3 + 1) = 0x747f600; 00001455 *(uint8_t*)((char*)arg2 + 0x3f) = *(uint8_t*)((char*)arg2 + 0x3f) + *(uint8_t*)((char*)edx)[1]; 00001455 0000145c if (!(*(uint8_t*)((char*)arg3 + 6) & 1)) 0000145c goto label_149f; 0000145c 0000145c goto label_145e; 00001447 } 00001447 0000145c int32_t eflags; 0000145c void* eax_4; 0000145c 0000145c if (*(uint8_t*)((char*)arg3 + 7) & 0x10 || !(*(uint8_t*)((char*)arg3 + 6) & 1)) 0000145c { 0000149f label_149f: 0000149f eax_4 = *(uint32_t*)arg3; 000014a1 *(uint32_t*)(&arg_68 + eax_4); 000014a5 __int1(); 000014a6 *(uint32_t*)arg3 -= 1; 000014a8 int32_t esi_5 = *(uint32_t*)arg3; 000014aa *(uint32_t*)((char*)arg3 + 2) += 1; 000014ad eax_4 = *(uint8_t*)((char*)eax_4 + esi_5); 000014b0 eax_4 = __in_al_immb(0x39, eflags); 000014b2 /* unimplemented {enter 0x475, 0x8b} */ 000014b6 char temp0_2; 000014b6 temp0_2 = __aaa(eax_4, *(uint8_t*)((char*)eax_4)[1], eflags); 000014b6 eax_4 = temp0_2; 000014b6 char temp1; 000014b6 *(uint8_t*)((char*)eax_4)[1] = temp1; 0000145c } 0000145c else 0000145c { 0000145e label_145e: 0000145e arg3[1]; 00001461 *(uint32_t*)(&var_c + eax_3); 00001461 00001470 if (*(uint32_t*)((char*)arg3 + 2)) 00001470 goto label_149f; 00001470 00001475 *(uint32_t*)((char*)arg3 + 2) = 0x448b0001; 0000147c eax_4 = ((char*)eax_3 - 0x172777) + 3; 0000147f ecx_1 |= *(uint8_t*)((char*)eax_4 - 0x77); 00001482 esp = &*(uint32_t*)((char*)var_c)[2]; 00001483 *(uint32_t*)((char*)arg3 + 1); 00001485 *(uint8_t*)((char*)arg3 + 7) |= 4; 0000145c } 0000145c 00001489 *(uint8_t*)((char*)eax_4 + (ecx_1 << 2)) = ecx_1; 0000148c /* unimplemented {enter 0x6780, 0x6} */ 00001490 __out_dx_oeax(edx, eax_4, eflags); 00001491 *(uint8_t*)((char*)eax_4)[1] = 0; 00001493 *(uint32_t*)esp; 00001493 esp[1]; 00001494 esp[2]; 00001496 return eax_4; 00001410 } 000014b9 80 4f 06 04 eb f6 53 .O....S 000014c0 51 56 57 89 c3 89 d6 c7 44 06 ff ff 80 4c 08 01 81 64 08 03 fc 80 3f 2a 74 4f QVW.....D....L...d....?*tO 000014da int32_t sub_14da(int32_t arg1 @ ebp, int32_t arg2 @ esi, char* arg3 @ edi, long double arg4 @ st0, long double arg5 @ st1) 000014da { 000014da char* ecx; 000014da ecx = *(uint8_t*)arg3; 000014dc *(uint8_t*)((char*)ecx)[1] = 0; 000014e0 *(uint8_t*)(arg1 + 0x7420053b); 000014f2 void* eax = ecx - 0x30; 000014f4 void* ecx_1; 000014f4 ecx_1 = *(uint8_t*)ecx; 000014f6 *(uint8_t*)((char*)ecx_1)[1] = 0; 000014fa *(uint8_t*)(arg1 + 0x7520053b); 00001501 *(uint32_t*)(arg2 + eax - 0x76) = eax; 00001501 00001508 if (eax != 0x57) 00001508 { 00001532 bool cond:0_1; 00001532 00001532 if (eax != 0x4e) 0000153b cond:0_1 = eax == 0x46; 00001532 else 00001532 { 00001535 *(uint8_t*)((char*)eax + ecx_1 + 8) |= 0xeb; 0000153a int32_t eflags_1; 0000153a char temp0_1; 0000153a temp0_1 = __aam_immb(0x3c, eax); 0000153a eax = temp0_1; 0000153a char temp1; 0000153a *(uint8_t*)((char*)eax)[1] = temp1; 0000153c cond:0_1 = arg2 == 0xffffffff; 00001532 } 00001532 0000153d if (cond:0_1) 0000150b *(uint8_t*)((char*)eax + ecx_1 + 4) |= 0x8a; 0000153d else 0000150f eax = *(uint8_t*)ecx_1; 00001508 } 00001508 else 0000150b *(uint8_t*)((char*)eax + ecx_1 + 4) |= 0x8a; 0000150b 00001516 if (eax >= 0x6a) 00001516 { 00001541 if (eax <= 0x6a) 0000158f *(uint32_t*)((char*)eax + ecx_1 - 0x80) |= 0x43c0eb01; 00001541 else 00001541 { 00001543 bool cond:2_1 = eax <= 0x74; 00001543 00001545 if (eax >= 0x74) 00001545 goto label_155b; 00001545 00001549 if (eax == 0x6c) 00001549 { 0000154e if (eax != *(uint8_t*)((char*)ecx_1 + 1)) 0000154e { 00001566 *(uint8_t*)((char*)eax + ecx_1 + 0x40) |= 0xeb; 0000156b /* undefined */ 0000154e } 0000154e 00001552 label_1552: 00001552 char temp1_1 = *(uint8_t*)((char*)eax + ecx_1 - 0x80) | 0x89; 00001552 *(uint8_t*)((char*)eax + ecx_1 - 0x80) = temp1_1; 00001552 cond:2_1 = temp1_1 <= 0; 00001559 eax = 0; 0000155b label_155b: 0000155b 00001563 if (!cond:2_1 && eax != 0x7a && eax == 0x77) 00001563 { 00001566 *(uint8_t*)((char*)eax + ecx_1 + 0x40) |= 0xeb; 0000156b /* undefined */ 00001563 } 00001549 } 00001541 } 00001516 } 00001516 else if (eax == 0x68) 0000151a { 0000151f if (eax == *(uint8_t*)((char*)ecx_1 + 1)) 0000151f { 00001523 *(uint8_t*)((char*)eax + ecx_1 + 0x10) |= 0xeb; 0000152d /* undefined */ 0000151f } 0000151f 00001588 *(uint8_t*)((char*)eax + ecx_1 + 0x20) |= 0xeb; 0000158d /* unimplemented {enter 0x8143, 0x4c} */ 00001591 *(uint8_t*)((char*)eax + 0x43c0eb01) |= eax; 0000151a } 0000151a else if (eax == 0x4c) 0000158f *(uint32_t*)((char*)eax + ecx_1 - 0x80) |= 0x43c0eb01; 00001570 else if (eax == 0x49 && *(uint8_t*)((char*)ecx_1 + 1) == 0x36 && *(uint8_t*)((char*)ecx_1 + 2) == 0x34) 00001580 goto label_1552; 00001580 00001558 /* jump -> 0x3976160d */ 000014da } 0000152e int32_t j_sub_14da() 0000152e { 0000152e /* tailcall */ 0000152e return sub_14da(); 0000152e } 00001599 int32_t sub_1599() 00001599 { 00001599 int32_t ebx; 00001599 int32_t var_4 = ebx; 0000159a int32_t ecx; 0000159a int32_t var_8 = ecx; 0000159b int32_t edx; 0000159b int32_t var_c = edx; 0000159c int32_t esi; 0000159c int32_t var_10 = esi; 000015a8 return 0x525a4d(); 00001599 } 000015ab 89 d6 f6 84 3b 05 02 74 03 41 eb ea f6 47 08 02 74 07 89 c8 5e ....;..t.A...G..t...^ 000015c0 5a 59 5b c3 89 de 89 da ff 54 02 eb f0 ZY[......T... 000015cd int32_t __convention("regparm") sub_15cd(void* arg1, void* arg2, void* arg3 @ edi) // This function has unresolved stack usage. View graph of stack usage to resolve. 000015cd { 000015cd int32_t __saved_ebx_1; 000015cd int32_t __saved_ebx = __saved_ebx_1; 000015ce int32_t ecx; 000015ce int32_t var_8 = ecx; 000015cf int32_t __saved_esi_1; 000015cf int32_t __saved_esi = __saved_esi_1; 000015d0 void* var_10 = arg3; 000015d1 int32_t __saved_ebp_1; 000015d1 int32_t __saved_ebp = __saved_ebp_1; 000015d4 void var_1c; 000015d4 void* esp_1 = &var_1c; 000015df *(uint32_t*)(arg2 * 2 - 0x58) += arg1; 000015eb char* eax = *(uint32_t*)((char*)arg3 - 2); 000015ee void* edi = *(uint32_t*)((char*)arg3 - 4); 000015f1 *(uint32_t*)((char*)arg1 - 4) = eax; 000015f4 char* ecx_1 = *(uint32_t*)((char*)arg1 + eax - 0x39); 000015f8 void* esi_1 = (char*)arg1 + 1; 000015f9 *(uint8_t*)eax += 1; 000015fb *(uint8_t*)((char*)arg2 + 0x1e74fff9) += eax; 00001638 int32_t eflags_1; 00001638 void* eax_3; 00001638 char i; 00001638 00001638 do 00001638 { 00001603 if (ecx_1 <= 0) 0000160f return *(uint32_t*)((char*)esi_1 - 2); 0000160f 00001628 eax_3 = (*(uint32_t*)edi)(); 0000162a *(uint8_t*)((char*)eax_3 + ecx_1 + 2); 0000162f char temp0_1; 0000162f temp0_1 = __aad_immb(0xff, eax_3, *(uint8_t*)((char*)eax_3)[1]); 0000162f eax_3 = temp0_1; 0000162f char temp1; 0000162f *(uint8_t*)((char*)eax_3)[1] = temp1; 00001631 esi_1 += 1; 00001632 ecx_1[0xfffffff6] -= 1; 00001635 esp_1 += 1; 00001636 i = *(uint8_t*)ecx_1 | eax_3; 00001636 *(uint8_t*)ecx_1 = i; 00001638 } while (!i); 0000163a *(uint8_t*)((char*)eax_3 + ecx_1 + 0x40); 0000163f *(uint32_t*)((char*)esi_1 - 0x77d903ba) |= ecx_1; 0000164b int32_t eflags_2 = __cli(eflags_1); 0000164c *(uint32_t*)((char*)esi_1 + 1); 0000164f char* eax_4; 0000164f eax_4 = ((char*)eax_3 - 0x774714b9) | *(uint8_t*)((char*)eax_3 - 0x774714b9); 0000164f 00001651 if (eax_4) 00001651 { 00001653 void* ebx_1; 00001653 ebx_1 = eax_4; 00001655 *(uint8_t*)((char*)ebx_1)[1] = 0; 00001657 eax_4 = *(uint8_t*)((char*)edi + 0x1240acb); 0000165d *(uint8_t*)((char*)eax_4)[1] = 0; 0000165d 00001661 if (eax_4) 00001669 *(uint8_t*)((char*)esi_1 - 4) = (*(uint32_t*)edi)(); 00001651 } 00001651 00001671 __cli(eflags_2); 00001675 void* ecx_3 = 0xff3d32f2(); 0000167a *(uint32_t*)((char*)esp_1 - 4) = *(uint32_t*)((char*)edi + ecx_3 - 0x72); 00001683 void* es; 00001683 *(uint32_t*)((char*)es - 0x16fd387d) = *(uint32_t*)((char*)esi_1 - 6); 00001683 0000168a if (esi_1 == 0xfffffffe) 0000168e /* jump -> 0x5654160a */ 0000168e 0000168b *(uint32_t*)((char*)esp_1 - 8) = *(uint32_t*)ecx_3; 0000168d ecx_3 u>>= 0x77; 00001690 int32_t eax_10 = (*(uint32_t*)0x568d0058)(); 00001695 int32_t eax_11 = *(uint32_t*)((char*)edi + 6); 0000169b *(uint32_t*)((char*)edi + 6) = eax_11 - 1; 0000169b 000016a0 if (eax_11) 000016a0 { 000016ae int32_t eax_14; 000016ae char* edx_2; 000016ae eax_14 = (*(uint32_t*)(eax_10 * 9))(); 000016b2 char temp2_1 = *(uint8_t*)edx_2 | eax_14; 000016b2 *(uint8_t*)edx_2 = temp2_1; 000016b2 000016b4 if (!temp2_1) 000016b4 { 000016b6 int32_t result; 000016b6 int32_t edx_3; 000016b6 edx_3 = HIGHD((int64_t)eax_14); 000016b6 result = LOWD((int64_t)eax_14); 000016b7 *(uint32_t*)((char*)esp_1 - 8); 000016b8 *(uint32_t*)((char*)esp_1 - 4); 000016b9 return result; 000016b4 } 000016a0 } 000016a0 000016a7 *(uint32_t*)((char*)esp_1 - 8); 000016a8 *(uint32_t*)((char*)esp_1 - 4); 000016a9 return 0xc289ffff; 000015cd } 00001610 a8 08 83 07 02 8b 3f 8c 5e fc 8b 7d fe eb d5 b9 ......?.^..}.... 00001620 01 00 eb dd .... 000016ba void __convention("regparm") sub_16ba(void* arg1, int32_t arg2, int32_t arg3, void* arg4) __noreturn // This function has unresolved stack usage. View graph of stack usage to resolve. 000016ba { 000016bb int32_t var_8 = arg3; 000016bd int32_t edi; 000016bd int32_t var_10 = edi; 000016c4 void* esi = arg1; 000016c8 arg1 = *(uint8_t*)((char*)arg1 + arg3 - 0x58); 000016c8 000016cd if (arg1 == 0xffffffff) 000016f4 *(uint8_t*)((char*)esi - 2) = 1; 000016cd else 000016cf *(uint8_t*)((char*)esi - 2) = 2; 000016cf 000016d3 void* eax; 000016d3 eax = *(uint8_t*)((char*)arg1 + 1 + arg3 - 0x58); 000016d7 arg4 += esi; 000016d7 000016e0 while (true) 000016e0 { 000016e0 int32_t eax_2; 000016e0 int32_t ecx_1; 000016e0 eax_2 = (*(uint32_t*)edi)(); 000016e4 *(uint8_t*)((char*)eax_2)[1] = 0; 000016e6 edi = eax_2; 000016e0 } 000016ba } 000016fa void __convention("regparm") sub_16fa(char arg1, int32_t arg2 @ ebp, void* arg3 @ esi, int32_t* arg4 @ edi) __noreturn // This function has unresolved stack usage. View graph of stack usage to resolve. 000016fa { 000016fc if (!(arg1 & 4)) 000016fc { 00001713 *(uint32_t*)arg4 += 2; 00001718 int32_t ebx_1 = *(uint32_t*)((char*)arg4 - 2); 0000171b int16_t ds; 0000171b *(uint16_t*)((char*)arg3 - 8) = ds; 0000171e *(uint32_t*)((char*)arg3 - 4) = ebx_1; 000016fc } 000016fc else 000016fc { 000016fe *(uint32_t*)arg4 += 4; 00001701 *(uint32_t*)arg4; 00001703 arg4 = arg4[-1]; 00001706 int32_t eax = *(uint32_t*)((char*)arg4 - 2); 00001709 *(uint32_t*)((char*)arg3 - 4) = arg4; 0000170c *(uint32_t*)((char*)arg3 - 8) = eax; 000016fc } 000016fc 000016e0 while (true) 000016e0 { 000016e0 int32_t* eax_2; 000016e0 int32_t ecx_1; 000016e0 eax_2 = (*(uint32_t*)arg4)(); 000016e4 *(uint8_t*)((char*)eax_2)[1] = 0; 000016e6 arg4 = eax_2; 000016e8 *(uint8_t*)(arg2 + 0x7402053b); 000016e0 } 000016fa } 00001723 f6 44 08 02 74 24 31 c9 f6 44 08 01 74 14 85 c9 7e 10 80 7e fe 01 75 0f 8e 46 f8 8b 5e .D..t$1..D..t...~..~..u..F..^ 00001740 fc 26 c6 07 00 89 c8 e9 be fe e9 a2 00 8b 44 06 89 c2 4a 89 54 06 85 c0 75 03 e9 7b 00 41 f6 44 .&............D...J.T...u..{.A.D 00001760 08 01 74 52 80 7e fe 01 75 03 e9 77 00 88 5e fa 83 3e c8 0a 00 74 17 30 ff 8a 87 cb 0a 24 01 30 ..tR.~..u..w..^..>...t.0.....$.0 00001780 e4 85 c0 74 09 89 f3 89 f0 ff 17 88 46 fb bb 02 00 8d 56 fa 8d 46 f6 e8 56 1b 3d ff ff 75 03 e9 ...t........F.....V..F..V.=..u.. 000017a0 ea fe 8e 46 f8 8b 5e fc 8b 46 f6 26 89 07 8a 46 fe 30 e4 01 46 fc 89 f0 e8 d6 fe 89 c3 99 83 fa ...F..^..F.&...F.0..F........... 000017c0 ff 75 08 3d ff ff 75 03 e9 60 ff 88 d8 30 e4 89 c7 f6 85 3b 05 02 74 85 89 f7 89 f2 89 d8 ff 55 .u.=..u..`...0.....;..t........U 000017e0 02 e9 47 ff 8e 46 f8 8b 7e fc 26 88 1d eb bf 8e 46 f8 8b 5e fc 26 c7 07 00 00 e9 48 ff 51 56 57 ..G..F..~.&.....F..^.&.....H.QVW 00001800 89 c7 89 d6 89 d8 f6 45 08 01 74 64 f6 45 08 04 75 40 f6 45 08 08 83 04 02 8c da 8b 1c 8e c2 8b .......E..td.E..u@.E............ 00001820 5f fe f6 45 08 10 75 34 f6 45 08 20 75 34 f6 45 08 40 75 34 f6 45 08 80 74 28 99 26 89 07 b1 0f _..E..u4.E. u4.E.@u4.E..t(.&.... 00001840 26 89 57 02 26 d3 fa 26 89 57 04 26 89 57 06 e9 ea 00 83 04 04 8b 34 c4 5c fc eb c6 26 88 07 e9 &.W.&..&.W.&.W........4.\...&... 00001860 da 00 26 89 07 e9 d4 00 99 26 89 07 26 89 57 02 e9 c9 00 53 51 56 57 55 89 e5 83 ec 02 89 c3 89 ..&......&..&.W....SQVWU........ 00001880 56 fe b9 20 00 89 d7 30 c0 57 1e 07 8a e0 d1 e9 f3 ab 13 c9 f3 aa 5f 8a 07 43 84 c0 74 23 b1 03 V.. ...0.W............_..C..t#.. 000018a0 88 c2 30 f6 89 d6 80 e2 07 d3 fe 89 d7 03 76 fe 8a 85 3c 06 08 04 8a 07 84 c0 74 05 43 3c 5d 75 ..0...........v...<.......t.C<]u 000018c0 df 89 da 89 d0 e9 40 fd 51 56 ......@.QV 000018ca int32_t __convention("regparm") sub_18ca(void* arg1, int32_t* arg2, void* arg3) 000018ca { 000018ca int32_t edi; 000018ca int32_t var_4 = edi; 000018cb int32_t ebp; 000018cb int32_t var_8 = ebp; 000018cc int32_t* ebp_1 = &var_8; 000018d7 *(uint32_t*)arg2; 000018d7 000018dc if (*(uint8_t*)arg2 != 0x5e) 000018e1 *(uint32_t*)((char*)arg1 - 0xa) = 0; 000018dc else 000018ea *(uint32_t*)arg2 += 1; 000018ea 000018ec void* ebx; 000018ec void* ebx_4 = ebx; 000018f1 *(uint32_t*)arg2; 000018f3 void* eax_2; 000018f3 int32_t ecx_1; 000018f3 eax_2 = 0x78a1875(); 000018f8 eax_2 = *(uint8_t*)((char*)eax_2 + ecx_1 - 0x58); 000018fc arg3 += arg1; 000018ff *(uint32_t*)((char*)arg1 - 6) = 0x448b0000; 00001907 ecx_1 = 3; 00001909 *(uint32_t*)((char*)arg1 - 4) = eax_2; 00001910 int16_t es; 00001910 00001910 if (*(uint32_t*)((char*)arg1 - 4) > 0) 00001910 { 00001916 eax_2 = (*(uint32_t*)arg2)((uint32_t)es); 00001918 ebx_4 = eax_2; 0000191a *(uint8_t*)((char*)eax_2 + ecx_1 + 2); 0000191f void var_9; 0000191f ebp_1 = &var_9; 00001910 } 00001910 00001920 *(uint8_t*)((char*)eax_2 + ecx_1 + 1); 00001925 *(uint8_t*)((char*)ebx_4 + 0x7e00fa7e) = *(uint8_t*)((char*)ebx_4 + 0x7e00fa7e) + eax_2; 00001932 *(uint8_t*)(es + arg2) = 0; 0000193b *(uint32_t*)ebp_1; 0000193b ebp_1[1]; 0000193c ebp_1[2]; 0000193d ebp_1[3]; 0000193f return *(uint32_t*)((char*)arg1 - 6); 000018ca } 00001944 int32_t __convention("regparm") sub_1944(void* arg1, int32_t* arg2 @ ebp, void* arg3 @ esi, void* arg4 @ edi) 00001944 { 00001946 void* ebx; 00001946 00001946 if (!(arg1 & 4)) 00001946 { 0000195d *(uint32_t*)0x8b1d8b02 += 0x5f; 00001964 *(uint8_t*)((char*)arg3 + (ebx << 1) - 0x7a17602) -= 1; 00001946 } 00001946 else 00001946 { 00001948 *(uint32_t*)0x8b1d8b04 += 0x7f; 00001950 arg1 = *(uint32_t*)((char*)arg4 - 2); 00001953 *(uint32_t*)((char*)arg3 - 8) = arg4; 00001956 *(uint32_t*)((char*)arg3 - 2) = arg1; 00001946 } 00001946 000018ff *(uint32_t*)((char*)arg3 - 6) = 0x448b0000; 00001907 int32_t ecx; 00001907 ecx = 3; 00001909 *(uint32_t*)((char*)arg3 - 4) = arg1; 00001910 int16_t es; 00001910 00001910 if (*(uint32_t*)((char*)arg3 - 4) > 0) 00001910 { 00001916 arg1 = (*(uint32_t*)arg4)((uint32_t)es); 00001918 ebx = arg1; 0000191a *(uint8_t*)((char*)arg1 + ecx + 2); 0000191f arg2 -= 1; 00001910 } 00001910 00001920 *(uint8_t*)((char*)arg1 + ecx + 1); 00001925 *(uint8_t*)((char*)ebx + 0x7e00fa7e) = *(uint8_t*)((char*)ebx + 0x7e00fa7e) + arg1; 00001932 *(uint8_t*)(es + arg4) = 0; 0000193b *(uint32_t*)arg2; 0000193b arg2[1]; 0000193c arg2[2]; 0000193d arg2[3]; 0000193f return *(uint32_t*)((char*)arg3 - 6); 00001944 } 0000196d 88 c2 30 f6 89 d7 d3 ff 8a 53 d6 89 c7 83 e7 07 8a 85 3c ..0......S........< 00001980 06 30 e4 85 c2 75 26 b8 01 00 3b 46 f6 75 22 ff 46 fa ff 4e fc f6 44 08 01 75 03 e9 6e ff 8e 46 .0...u&...;F.u".F..N..D..u..n..F 000019a0 fe 8b 7e f8 ff 46 f8 26 88 1d e9 5f ff 30 c0 eb d9 89 f7 89 f2 89 d8 ff 55 02 e9 63 ff 53 51 ..~..F.&..._.0..........U..c.SQ 000019bf void __convention("regparm") sub_19bf(void* arg1, int32_t arg2) __noreturn // This function has unresolved stack usage. View graph of stack usage to resolve. 000019bf { 000019c9 *(uint32_t*)((char*)arg1 - 8) = arg2; 000019d1 *(uint32_t*)((char*)arg1 - 0x12) = 0; 000019d4 *(uint32_t*)((char*)arg1 - 2) = 0; 000019d4 000019dd while (true) 000019dd { 000019dd int32_t eax_2; 000019dd int32_t edx; 000019dd edx = HIGHD((int64_t)(*(uint32_t*)((char*)arg1 - 0x6a))()); 000019dd eax_2 = LOWD((int64_t)(*(uint32_t*)((char*)arg1 - 0x6a))()); 000019de *(uint32_t*)((char*)arg1 - 0xa) = eax_2; 000019e1 void* ebx_1; 000019e1 ebx_1 = *(uint8_t*)((char*)arg1 - 0xa); 000019e4 *(uint8_t*)((char*)ebx_1)[1] = 0; 000019e6 *(uint32_t*)((char*)arg1 - 6) = edx; 000019e9 *(uint8_t*)((char*)arg1 + 0x740204d1); 000019f0 *(uint32_t*)((char*)arg1 - 2) += 1; 000019dd } 000019bf } 000019f5 f6 44 08 02 74 66 83 7e ee 00 7e .D..tf.~..~ 00001a00 4e 8b 46 fe 01 46 ee f6 44 08 01 74 42 c6 05 00 f6 44 08 20 74 3f 80 7e 96 2d 75 09 f7 5e f0 f7 N.F..F..D..tB....D. t?.~.-u..^.. 00001a20 d9 83 5e f0 00 8a 44 08 a8 04 74 2c 8b 5e f8 83 07 04 8b 1f c4 7f fc 8a 44 08 a8 20 75 1d a8 40 ..^...D...t,.^..........D.. u..@ 00001a40 75 06 f6 44 09 01 74 16 8d 76 e6 a5 a5 a5 a5 8b 46 ee e9 b3 fb e9 3a 02 e9 44 02 e9 55 02 e9 5f u..D..t..v......F.....:..D..U.._ 00001a60 02 8b 44 06 89 c2 4a 89 54 06 85 c0 75 03 e9 23 01 83 7e fa 00 75 09 83 7e f6 2b 75 03 e9 24 01 ..D...J.T...u..#..~..u..~.+u..$. 00001a80 83 7e fa 00 75 06 83 7e f6 2d 74 f1 8a 5e f6 30 ff f6 87 3b 05 20 75 0c 83 7e fa 00 75 d0 83 7e .~..u..~.-t..^.0...;. u..~..u..~ 00001aa0 f6 2e 75 ca 31 c9 8a 5e f6 89 4e f0 30 ff 89 4e fc f6 87 3b 05 20 74 49 c7 46 fc 01 00 8a 46 f6 ..u.1..^..N.0..N...;. tI.F....F. 00001ac0 88 05 47 f6 44 08 20 74 11 8b 46 f0 ba 0a 00 f7 e2 03 46 f6 2d 30 00 89 46 f0 89 f0 ff 46 ee e8 ..G.D. t..F.......F.-0..F....F.. 00001ae0 af fb 89 46 f6 89 56 fa 83 fa ff 75 08 3d ff ff 75 03 e9 06 ff 8a 5e f6 30 ff f6 87 3b 05 20 75 ...F..V....u.=..u.....^.0...;. u 00001b00 bc 83 7e fa 00 75 09 83 7e f6 2e 75 03 e9 bf 00 f6 44 08 20 74 03 e9 7b 00 83 7e fa 00 75 06 83 ..~..u..~..u.....D. t..{..~..u.. 00001b20 7e f6 65 74 0c 83 7e fa 00 75 eb 83 7e f6 45 75 e5 8a 46 f6 ff 46 ee 88 05 89 f0 47 e8 52 fb 89 ~.et..~..u..~.Eu..F..F.....G.R.. 00001b40 46 f6 83 fa ff 75 05 3d ff ff 74 a6 85 d2 75 05 3d 2b 00 74 4c 85 d2 75 05 3d 2d 00 74 43 8a 5e F....u.=..t...u.=+.tL..u.=-.tC.^ 00001b60 f6 30 ff f6 87 3b 05 20 74 5e 8a 46 f6 ff 46 ee 88 05 89 f0 47 e8 19 fb 89 46 f6 83 fa ff 75 08 .0...;. t^.F..F.....G....F....u. 00001b80 3d ff ff 75 03 e9 73 fe 8a 5e f6 30 ff f6 87 3b 05 20 75 d6 =..u..s..^.0...;. u. 00001b94 int32_t sub_1b94(void* arg1 @ esi) 00001b94 { 00001b94 *(uint32_t*)((char*)arg1 - 0xa); 00001b9b int32_t edi; 00001b9b (*(uint32_t*)(edi + 2))(); 00001b9e /* jump -> 0xcdea19fd */ 00001b94 } 00001ba3 00 8a 46 f6 ff 46 fe 88 05 89 f0 47 e8 df fa 89 46 f6 89 56 fa 83 fa ff 74 03 e9 cc fe ..F..F.....G....F..V....t.... 00001bc0 3d ff ff 74 c0 e9 c4 =..t... 00001bc7 int32_t __convention("regparm") sub_1bc7(char* arg1, int16_t arg2, int32_t arg3 @ esi) 00001bc7 { 00001bc7 int16_t ebx; 00001bc7 *(uint8_t*)((char*)ebx)[1] += 1; 00001bca int32_t eflags; 00001bca __out_dx_al(arg2, arg1, eflags); 00001bcb *(uint8_t*)arg1 += arg1; 00001bcd /* tailcall */ 00001bcd return sub_1b94(); 00001bc7 } 00001bcf 8a 46 f6 ff 46 ee 88 05 89 f0 47 e8 b4 fa 89 46 f6 .F..F.....G....F. 00001be0 89 56 fa 83 fa ff 75 05 3d ff ff 74 98 83 7e fc 00 74 58 8a 5e f6 30 ff f6 87 3b 05 20 74 1b ff .V....u.=..t..~..tX.^.0...;. t.. 00001c00 46 ee 89 f0 88 1d e8 88 fa 47 89 46 f6 89 56 fa 83 fa ff 75 de 3d ff ff 75 d9 f6 44 08 20 74 3c F........G.F..V....u.=..u..D. t< 00001c20 31 c0 89 7e f4 89 46 f2 ff 4e f4 8b 5e f4 80 3f 2e 74 27 8a 17 80 ea 30 31 c9 88 56 f2 bb 0a 00 1..~..F..N..^..?.t'....01..V.... 00001c40 8b 56 f2 e8 8f 17 89 56 f2 eb dd 8a 5e f6 30 ff f6 87 3b 05 20 75 9c e9 3a ff 89 c1 83 7e fa ff .V.....V....^.0...;. u..:....~.. 00001c60 74 03 e9 ab fe 83 7e f6 ff 75 03 e9 8d fd e9 9f fe 8a 46 f6 ff 46 ee 88 05 89 f0 47 e8 12 fa 89 t.....~..u........F..F.....G.... 00001c80 46 f6 83 fa ff 74 03 e9 d4 fe 3d ff F....t....=. 00001c8c void sub_1c8c() __noreturn 00001c8c { 00001c8c void var_17; 00001c8c ebx; 00001c8c int32_t var_4 = *(uint32_t*)(&var_17 + (ebx << 3)); 00001c90 breakpoint(); 00001c8c } 00001c91 fe 8d 56 e6 8d 46 96 ff 16 fa 09 e9 86 fd a8 ..V..F......... 00001ca0 08 8b 5e f8 83 07 02 8c d8 8b 3f 8e c0 8b 7d fe e9 84 fd 8b 46 f0 26 89 0d 26 89 45 02 e9 8f fd ..^.......?...}.....F.&..&.E.... 00001cc0 8b 46 ec 8b 5e ea 8b 4e e8 8b 56 e6 e8 9b 17 26 89 05 26 89 55 02 e9 76 fd 3d 30 00 7c 09 3d 39 .F..^..N..V....&..&.U..v.=0.|.=9 00001ce0 00 7f 04 2d 30 00 c3 e8 c7 17 3d 61 00 7c 09 3d 66 00 7f 04 2d 57 00 c3 b8 10 00 c3 ...-0.....=a.|.=f...-W...... 00001cfc void __convention("regparm") sub_1cfc(int32_t arg1, int32_t arg2, void* arg3 @ esi) __noreturn // This function has unresolved stack usage. View graph of stack usage to resolve. 00001cfc { 00001cfc void* var_4 = arg3; 00001d06 *(uint32_t*)((char*)arg3 - 0x1a) = arg2; 00001d09 int32_t ebx; 00001d09 *(uint32_t*)((char*)arg3 - 6) = ebx; 00001d0e *(uint32_t*)0xfffffff6 = 0; 00001d11 *(uint32_t*)0xfffffff4 = 0; 00001d14 *(uint32_t*)0xfffffff2 = 0; 00001d17 *(uint32_t*)0xffffffe2 = 0; 00001d1a *(uint32_t*)0xfffffff8 = 0; 00001d1d *(uint32_t*)0xfffffffe = 0; 00001d20 *(uint32_t*)0xffffffe8 = 0; 00001d20 00001d29 while (true) 00001d29 { 00001d29 *(uint32_t*)0xfffffffc = (*(uint32_t*)arg1)(); 00001d2c int32_t ebx_1; 00001d2c ebx_1 = *(uint32_t*)0xfffffffc; 00001d2f *(uint8_t*)((char*)ebx_1)[1] = 0; 00001d31 *(uint8_t*)(arg1 + 0x7402053b); 00001d38 *(uint32_t*)0xffffffe8 += 1; 00001d29 } 00001cfc } 00001d3d f6 45 08 .E. 00001d40 02 75 03 e9 86 00 f6 45 .u.....E 00001d48 int32_t __convention("regparm") sub_1d48(void* arg1, int32_t* arg2 @ ebp, void* arg3 @ esi, int32_t* arg4 @ edi) 00001d48 { 00001d48 char temp0_1 = *(uint8_t*)((char*)arg1 + 0x7e837074) | arg1; 00001d48 *(uint8_t*)((char*)arg1 + 0x7e837074) = temp0_1; 00001d4e int32_t eflags; 00001d4e arg1 = __in_al_immb(0x2d, eflags); 00001d4e 00001d50 if (!temp0_1) 00001d50 { 00001d57 *(uint32_t*)((char*)arg3 - 0xe) = 0 - *(uint32_t*)((char*)arg3 - 0xe); 00001d5f trap(0xd); 00001d50 } 00001d50 00001d77 if (*(uint32_t*)((char*)arg3 - 2) > 0) 00001d77 { 00001d7c *(uint32_t*)((char*)arg3 - 2) += *(uint32_t*)((char*)arg3 - 0x18); 00001d7f int32_t eax_2; 00001d7f eax_2 = arg2[2]; 00001d7f 00001d84 if (eax_2 & 1) 00001d84 { 00001d88 int16_t es_1; 00001d88 00001d88 if (eax_2 & 4) 00001d88 { 00001dbf *(uint32_t*)((char*)arg3 - 0x1a); 00001dc2 *(uint32_t*)arg4 += 4; 00001dc5 arg4 = *(uint32_t*)arg4; 00001dc7 int32_t ebx_3; 00001dc7 ebx_3 = __les_gprz_memp(*(uint6_t*)((char*)arg2 - 4)); 00001d88 } 00001d88 else 00001d88 { 00001d8f *(uint32_t*)arg4 += 2; 00001d96 int16_t ds; 00001d96 es_1 = ds; 00001d98 *(uint32_t*)((char*)arg4 - 2); 00001d88 } 00001d88 00001d9b int32_t eax_4 = *(uint32_t*)((char*)arg3 - 0xa); 00001d9e *(uint32_t*)(es_1 + (char*)arg4 + 6) = arg3; 00001da2 *(uint32_t*)(es_1 + &arg4[1]) = eax_4; 00001da9 *(uint32_t*)(es_1 + (char*)arg4 + 2) = *(uint32_t*)((char*)arg3 - 0xc); 00001db0 *(uint32_t*)(es_1 + arg4) = *(uint32_t*)((char*)arg3 - 0xe); 00001d84 } 00001d77 } 00001d77 00001db8 *(uint32_t*)arg2; 00001db8 arg2[1]; 00001db9 arg2[2]; 00001dbb return *(uint32_t*)((char*)arg3 - 2); 00001d48 } 00001d60 89 46 f4 b8 00 00 1b 46 f6 89 46 f6 b8 00 00 19 f0 89 c6 .F.....F..F........ 00001dbc e9 db 02 ... 00001dcc 8b 55 06 89 d3 4b 89 5d 06 85 d2 75 03 e9 b1 02 c7 46 e4 2b .U...K.]...u.....F.+ 00001de0 00 85 c9 74 0d 3d 2b 00 75 03 e9 c1 00 3d 2d 00 74 f8 8b 46 fa 85 c0 74 03 e9 27 01 83 7e fc 30 ...t.=+.u....=-.t..F...t..'..~.0 00001e00 75 03 e9 ce 00 c7 46 fa 0a 00 f6 45 08 80 75 03 e9 16 02 8b 46 fc e8 c0 fe 89 46 f0 3b 46 fa 7d u.....F....E..u.....F.....F.;F.} 00001e20 03 e9 53 01 83 7e fc 3a 75 af f6 45 09 02 74 a9 89 f8 e8 5c f8 89 c3 89 46 fc 99 ff 46 fe 83 fa ..S..~.:u..E..t....\....F...F... 00001e40 ff 75 08 3d ff ff 75 03 e9 fb fe 89 d8 e8 89 fe 89 46 ee 3b 46 fa 7d 81 8b 46 fa b1 0f 99 8b 5e .u.=..u..........F.;F.}..F.....^ 00001e60 f6 89 46 d2 89 56 d4 89 f0 d3 fa 8b 4e f4 89 56 d6 89 56 d8 8b 56 f2 8d 76 d2 e8 5d 16 89 46 de ..F..V......N..V..V..V..v..]..F. 00001e80 89 ce 8b 46 ee 89 56 dc 99 b1 0f 89 46 e0 89 d0 d3 fa 8b 4e dc 03 4e e0 89 4e f2 11 c6 89 76 f4 ...F..V.....F......N..N..N....v. 00001ea0 89 d0 11 d8 89 46 f6 8b 76 de 11 d6 eb 82 8b 46 fc 89 46 e4 89 f8 e8 d8 f7 89 46 fc 99 ff 46 e8 .....F..v......F..F.......F...F. 00001ec0 83 fa ff 74 03 e9 2a ff 3d ff ff 75 03 e9 76 fe e9 1f ff 89 f8 e8 b9 f7 89 c3 89 46 fc 99 c7 46 ...t..*.=..u..v............F...F 00001ee0 fe 01 00 83 fa ff 75 05 3d ff ff 74 e0 83 fb 78 74 0d 83 fb 58 74 08 c7 46 fa 08 00 e9 0b ff 89 ......u.=..t...xt...Xt..F....... 00001f00 f8 c7 46 fe 00 00 e8 88 f7 89 46 fc 99 83 46 e8 02 83 fa ff 75 05 3d ff ff 74 b2 c7 46 fa 10 00 ..F.......F...F.....u.=..t..F... 00001f20 e9 e7 fe 3d 10 00 74 03 e9 df fe 83 7e fc 30 75 f7 89 f8 e8 5b f7 89 c3 89 46 fc 99 c7 46 fe 01 ...=..t.....~.0u....[....F...F.. 00001f40 00 83 fa ff 75 05 3d ff ff 74 82 83 fb 78 74 05 83 fb 58 75 d3 89 f8 c7 46 fe 00 00 e8 32 f7 89 ....u.=..t...xt...Xu....F....2.. 00001f60 46 fc 99 83 46 e8 02 83 fa ff 75 bc 3d ff ff 75 03 e9 d2 fd e9 93 fe 8b 46 fa b1 0f 99 8b 5e f6 F...F.....u.=..u........F.....^. 00001f80 89 46 d2 89 56 d4 89 f0 d3 fa 8b 4e f4 89 56 d6 89 56 d8 8b 56 f2 8d 76 d2 e8 3e 15 89 46 e0 89 .F..V......N..V..V..V..v..>..F.. 00001fa0 5e da 89 4e de 8b 46 f0 89 d3 99 b1 0f 89 56 dc d3 fa 01 c3 89 5e f2 8b 46 de 13 46 dc 89 46 f4 ^..N..F.......V......^..F..F..F. 00001fc0 8b 46 da 11 d0 89 46 f6 89 f8 8b 76 e0 11 d6 e8 bf f6 89 46 fc 99 ff 46 fe 83 fa ff 74 03 e9 32 .F....F....v.......F...F....t..2 00001fe0 fe 3d ff ff 74 8b e9 2a fe 8b 46 fa 99 89 c3 89 d1 8b 46 e2 8b 56 f8 e8 2a 16 89 46 de 89 d3 8b .=..t..*..F.......F..V..*..F.... 00002000 46 ec 8b 4e de 99 01 c1 89 4e e2 89 f8 11 d3 e8 7f f6 ff 46 fe 89 46 fc 99 89 5e f8 83 fa ff 75 F..N.....N.........F..F...^....u 00002020 08 3d ff ff 75 03 e9 1d fd 8b 46 fc e8 aa fc 89 46 ec 3b 46 fa 7c b2 83 7e fc 3a 75 50 f6 45 09 .=..u.....F.....F.;F.|..~.:uP.E. 00002040 02 74 4a 89 f8 e8 49 f6 89 c3 89 46 fc 99 ff 46 fe 83 fa ff 75 05 3d ff ff 74 cb 89 d8 e8 79 fc .tJ...I....F...F....u.=..t....y. 00002060 89 46 ea 3b 46 fa 7d 25 8b 46 fa 99 89 c3 89 d1 8b 46 e2 8b 56 f8 e8 ab 15 89 c3 8b 46 ea 89 d1 .F.;F.}%.F.......F..V.......F... 00002080 99 01 d8 11 d1 89 46 e2 89 4e f8 eb b6 8b 46 fc 89 fb 89 fa ff 57 02 e9 ac fc 83 7e e4 2d 75 0a ......F..N....F......W.....~.-u. 000020a0 f7 5e f8 f7 5e e2 83 5e f8 00 83 7e fe 00 7f 03 e9 00 fd 8b 46 e8 01 46 fe 8a 45 08 a8 01 74 f0 .^..^..^...~........F..F..E...t. 000020c0 a8 04 75 30 a8 08 8b 5e e6 83 07 02 8c d8 8b 1f 8e c0 8b 5f fe 8a 45 08 a8 10 75 25 a8 20 75 2a ..u0...^..........._..E...u%. u* 000020e0 a8 40 74 26 8b 46 e2 26 89 07 8b 46 f8 26 89 47 02 e9 bf fc 8b 5e e6 83 07 04 8b 37 c4 5c fc eb .@t&.F.&...F.&.G.....^.....7.\.. 00002100 d4 8a 46 e2 26 88 07 e9 a9 fc 8b 46 e2 e9 a0 fc 51 56 57 55 89 e5 83 ec 0a 89 c6 89 56 f6 8b 07 ..F.&......F....QVWU........V... 00002120 89 46 f8 31 c0 80 64 08 fd 89 46 fc 89 46 fe 89 46 fa 8b 5e f6 ff 46 f6 8a 1f 30 ff 85 db 74 2e .F.1..d...F..F..F..^..F...0...t. 00002140 f6 87 3b 05 02 74 0b 89 f0 e8 4d f4 01 46 fa e9 9c 00 83 fb 25 74 2f 89 f7 89 f0 ff 15 39 d8 74 ..;..t....M..F......%t/......9.t 00002160 1f f6 44 08 02 75 07 89 f3 89 f2 ff 57 02 83 7e fc 00 75 5d f6 44 08 02 74 57 b8 ff ff e9 b9 f7 ..D..u......W..~..u].D..tW...... 00002180 ff 46 fa e9 68 00 8b 46 f6 89 f2 e8 31 f3 89 c7 89 46 f6 8a 1d 85 db 74 04 47 89 7e f6 83 fb 65 .F..h..F....1....F.....t.G.~...e 000021a0 73 22 83 fb 53 73 2d 83 fb 43 73 2b 83 fb 25 75 3d 89 f3 89 f0 ff 17 3d 25 00 74 c4 f6 44 08 02 s"..Ss-..Cs+..%u=......=%.t..D.. 000021c0 75 ac eb a5 77 14 8d 56 f8 89 f0 e8 ef f7 e9 77 00 e9 1c 01 e9 9c 00 e9 d1 00 83 fb 6f 73 4f 83 u...w..V.......w............osO. 000021e0 fb 6e 74 44 83 fb 69 74 42 83 fb 67 76 d8 .ntD..itB..gv. 0000222d int32_t __convention("regparm") sub_222d(void* const* arg1, int16_t arg2, int32_t arg3, void* arg4 @ ebp, void* arg5 @ esi, char* arg6 @ edi) 0000222d { 0000222d *(uint8_t*)((char*)arg5 + 0x53) += *(uint8_t*)((char*)arg2)[1]; 00002233 int32_t ebx; 00002233 00002233 if (ebx >= 0x73) 00002233 { 0000225f if (ebx <= 0x73) 0000225f { 0000227e int32_t ecx; 0000227e uint16_t edx_1; 0000227e edx_1 = 0xc5ec16bc(); 00002283 /* tailcall */ 00002283 return sub_22cb(ecx, edx_1, arg4, arg6); 0000225f } 0000225f 00002264 if (ebx == 0x78) 00002264 goto label_223f; 00002264 00002269 if (ebx != 0x75) 00002269 goto label_21ee; 00002269 00002270 ebx = ebx; 00002272 trap(0x77); 00002233 } 00002233 00002238 if (ebx != 0x70) 00002238 goto label_21ee; 00002238 0000223f label_223f: 0000223f *(uint8_t*)((char*)arg4 - 0xf7607aa) += 1; 00002245 int32_t eax; 00002245 eax = 0xc38a1cfe(); 00002245 0000224c if (ebx > 0) 0000224c { 0000224e *(uint32_t*)((char*)arg5 - 4) += 1; 00002251 *(uint32_t*)((char*)arg5 - 6) += ebx; 00002254 *(uint8_t*)(eax + arg3 + 1); 00002259 arg1 = &__return_addr; 0000225a *(uint32_t*)((char*)arg5 - 2) += 1; 000021ee label_21ee: 000021ee *(uint8_t*)((char*)arg1 + arg3 + 2); 000021f7 int32_t ebx_2 = *(uint32_t*)((char*)arg5 - 0xa); 000021f7 000021fd if (*(uint8_t*)arg6 == 0x25) 000021fd { 00002202 *(uint32_t*)((char*)arg5 - 0xa) += 1; 00002207 *(uint32_t*)((char*)arg5 - 0xa); 0000220f *(uint32_t*)((char*)arg5 - 0xa) = 0xc38a14c1(); 0000220f 00002215 if (*(uint8_t*)arg6 == 0x6e) 00002215 { 0000221d *(uint32_t*)((char*)arg5 - 0xa) = ebx_2 + 1; 00002220 *(uint32_t*)((char*)arg5 - 6); 00002223 0xcfec17ff(); 00002228 /* jump -> 0x90e922e4 */ 00002215 } 000021fd } 0000224c } 0000224c 000021ff /* jump -> 0x47002170 */ 0000222d } 00002285 83 fb 5b 73 08 83 fb 58 74 ab e9 5c ff 76 40 83 fb 64 74 d2 83 fb 63 74 03 e9 4d ..[s...Xt..\.v@..dt...ct..M 000022a0 ff 8d 56 f8 89 f0 e8 24 f3 eb 9d 77 06 80 4c 08 40 eb ee 83 fb 45 72 e6 83 fb 47 e9 2e ff b9 01 ..V....$...w..L.@....Er...G..... 000022c0 00 8d 56 f8 89 f0 31 db e9 7a ff ..V...1..z. 000022cb int32_t __convention("fastcall") sub_22cb(int32_t arg1, uint16_t arg2, void* arg3 @ ebp, int32_t arg4 @ edi) 000022cb { 000022d0 int32_t ecx; 000022d0 ecx = 1; 000022d2 int32_t eflags; 000022d2 uint8_t* edi; 000022d2 uint8_t temp0; 000022d2 temp0 = __insb(arg4, arg2, eflags); 000022d2 *(uint8_t*)edi = temp0; 000022d3 *(uint32_t*)((char*)arg3 + 0x568df65e) -= 1; 000022dc 0x66ea18ca(); 000022e1 void* ebx; 000022e1 *(uint32_t*)((char*)ebx + 0x568dfa5e) -= 1; 000022ea int32_t eax_2; 000022ea int32_t edx; 000022ea eax_2 = 0xfeea17ff(); 000022ef *(uint8_t*)((char*)ebx + 0x43e9fe46) -= 1; 000022f5 *(uint8_t*)((char*)ebx + 0x51) = ~*(uint8_t*)((char*)ebx + 0x51); 000022f8 int32_t esi; 000022f8 int32_t var_4 = esi; 00002307 return 0x5e5f363e(edi); 000022cb } 00002308 int32_t sub_2308(int32_t* arg1 @ edi) 00002308 { 0000230d int16_t cs; 0000230d *(uint32_t*)((char*)arg1 + 2) = cs; 00002312 int16_t ds; 00002312 *(uint32_t*)((char*)arg1 + 6) = ds; 00002317 int16_t es; 00002317 *(uint32_t*)arg1 = es; 00002319 int16_t result_1; 00002319 int32_t result = result_1; 0000231b arg1[1] = result; 0000231f return result; 00002308 } 00002320 void __convention("fastcall") sub_2320(int32_t arg1, int32_t arg2, int32_t* arg3 @ esi) __noreturn 00002320 { 00002320 int32_t var_4 = arg2; 00002321 *(uint32_t*)arg3; 00002323 int32_t eflags; 00002323 int32_t eflags_1; 00002323 int32_t eip; 00002323 eip = __into(eflags); 00002324 *(uint32_t*)(arg1 + 0x6c70bcc); 0000232a trap(0xd); 00002320 } 0000232b 09 00 20 e8 59 e0 e8 bf e1 5a c3 c3 53 51 52 b8 ba 0a b9 b8 0a .. .Y....Z..SQR...... 00002340 8b 1e e8 09 8b 16 ec 09 50 a1 d0 0b e8 19 00 a3 c0 0a a1 b8 0a a3 bc 0a a3 cc 0b a1 ba 0a a3 be ........P....................... 00002360 0a a3 ce 0b 5a 59 5b c3 55 89 e5 56 57 83 ec 06 50 52 89 de 89 4e f8 8d 4e f6 89 f2 31 db e8 71 ....ZY[.U..VW...PR...N..N...1..q 00002380 00 8b 56 f6 40 29 f2 d1 e0 89 d1 83 c2 02 05 02 00 80 e2 fe 01 d0 31 ff 40 41 24 fe 89 d3 e8 98 ..V.@)................1.@A$..... 000023a0 e0 89 c2 89 46 fa 31 c0 85 d2 75 16 8b 5e f8 89 07 8b 5e 04 8b 46 fa 89 3f 8d 66 fc 5f 5e 5d c2 ....F.1...u..^....^..F..?.f._^]. 000023c0 02 00 89 d7 57 8c d8 8e c0 d1 e9 f3 a5 13 c9 f3 a4 5f 8b 46 f2 01 df 8d 4e f6 8d 5d 02 89 05 8b ....W............_.F....N..].... 000023e0 46 f4 e8 0d 00 40 89 c3 d1 e3 01 fb c7 07 00 00 eb ba 56 57 55 89 e5 83 ec 04 50 89 d6 89 4e fe F....@............VWU.....P...N. 00002400 89 da 31 c9 8a 04 3c 20 75 03 46 eb f7 3c 09 74 f9 84 c0 74 49 30 c0 80 3c 22 74 19 89 76 fc 89 ..1...< u.F..<.t...tI0..<"t..v.. 00002420 f3 80 3c 22 75 3b 83 7e fa 00 75 12 46 84 c0 75 09 b0 02 eb ec b0 01 46 eb e2 30 c0 eb e3 3c 01 ..<"u;.~..u.F..u.......F..0...<. 00002440 75 1f 85 d2 74 58 89 cf d1 e7 01 d7 8b 46 fc 89 05 8a 04 41 84 c0 74 48 46 c6 07 00 eb a6 e9 56 u...tX.......F.....A..tHF......V 00002460 00 80 3c 20 75 28 84 c0 74 d8 80 3c 00 74 d3 80 3c 5c 75 13 83 7e fa 00 75 1b 80 7c 01 22 75 07 ..< u(..t..<.t..<\u..~..u..|."u. 00002480 46 80 7c fe 5c 74 9a 85 d2 75 23 46 eb 93 80 3c 09 74 d3 eb d5 80 7c 01 22 75 07 46 eb e9 eb 24 F.|.\t...u#F...<.t....|."u.F...$ 000024a0 eb 13 80 7c 01 5c 75 df 3c 01 74 ef eb d9 8a 24 88 27 43 eb d6 88 07 8b 5e fe 89 c8 89 37 89 ec ...|.\u.<.t....$.'C.....^....7.. 000024c0 5d 5f 5e c3 41 80 3c 00 74 ed e9 3d ff a1 c0 0a 85 c0 75 01 c3 e9 81 e0 80 3e f2 09 00 75 03 31 ]_^.A.<.t..=......u......>...u.1 000024e0 c0 c3 52 50 cc eb 06 ..RP... 000024e7 int32_t __convention("fastcall") sub_24e7(int32_t arg1, int32_t arg2 @ ebp, int32_t arg3 @ edi) 000024e7 { 000024e7 int32_t var_4 = arg3; 000024e8 int32_t esi; 000024e8 int32_t var_8 = esi; 000024f4 int32_t edx; 000024f4 int32_t var_b = edx; 000024fc *(uint8_t*)(arg1 - 1); 000024ff return *(uint32_t*)0x168909f6; 000024e7 } 00002500 03 06 c6 09 53 51 52 89 c2 3b 06 d0 09 72 3b 89 c3 b1 04 83 c3 0f d3 eb 85 db 75 03 bb 00 10 8c ....SQR..;...r;...........u..... 00002520 d8 80 3e cc 09 00 75 0b 8c d0 2b 06 c8 09 01 c3 a1 c8 09 8e c0 b4 4a cd 21 1b c0 85 c0 75 0b a1 ..>...u...+...........J.!....u.. 00002540 c6 09 89 16 c6 ..... 00002545 int32_t __convention("fastcall") sub_2545(int32_t, void* arg2) 00002545 { 00002545 int32_t ebx; 00002545 *(uint32_t*)((char*)arg2 + 0x59) |= ebx; 00002545 } 0000254a e8 25 0d 89 c3 b8 ff ff c7 07 05 00 eb ee 56 57 55 89 e5 83 ec 70 .%............VWU....p 00002560 89 de 89 4e fc c6 46 fe 00 c7 46 da 00 00 c7 46 dc c8 00 c7 46 e2 00 00 89 46 d8 89 56 fa ...N..F...F....F....F....F..V. 0000257e int32_t sub_257e(void* arg1 @ esi, char* arg2 @ edi) 0000257e { 0000257e while (true) 0000257e { 0000257e *(uint32_t*)((char*)arg1 - 6); 00002581 char eax = *(uint8_t*)arg2; 00002581 00002585 if (!eax) 000025e3 /* jump -> 0x2a82770 */ 000025e3 0000258c if (eax == 0x25) 0000258c break; 0000258c 0000258e int32_t edx; 0000258e edx = eax; 00002593 *(uint8_t*)((char*)edx)[1] = 0; 00002595 *(uint32_t*)((char*)arg1 - 6) = &arg2[1]; 00002598 (*(uint32_t*)((char*)arg1 - 4))(); 0000257e } 0000257e 000025a0 *(uint32_t*)(((arg2 + 1) << 2) + 0x4689f456); 000025a7 trap(0xd); 0000257e } 000025a8 89 c8 e8 ca 01 89 c3 8b 46 f4 89 04 8a 07 43 88 46 f0 89 5e fa 84 c0 74 ........F.....C.F..^...t 000025c0 22 3c 6e 75 50 8a 46 db a8 04 74 1a 83 04 04 8b 3c c4 5d fc " 0x1fec2580 */ 00002605 } 00002605 00002619 if (eax & 0x80) 00002619 { 0000261e int32_t eax_6; 0000261e int32_t edx_2; 0000261e edx_2 = HIGHD((int64_t)*(uint32_t*)((char*)arg1 - 0x1e)); 0000261e eax_6 = LOWD((int64_t)*(uint32_t*)((char*)arg1 - 0x1e)); 0000261f *(uint32_t*)(es + arg2) = eax_6; 00002624 *(uint32_t*)(es + arg2 + 2) = edx_2; 00002628 int32_t edx_3 = edx_2 >> 0xf; 0000262b *(uint32_t*)(es + arg2 + 4) = edx_3; 0000262f *(uint32_t*)(es + arg2 + 6) = edx_3; 00002633 /* jump -> 0x4e8e2580 */ 00002619 } 000025f8 } 000025f8 000025fd *(uint32_t*)(es + arg2) = *(uint32_t*)((char*)arg1 - 0x1e); 00002600 /* jump -> 0x40a92580 */ 000025d4 } 000025e8 83 04 02 8c d8 8b 1c 8e c0 8b 5f fe .........._. 000025f4 int32_t j_sub_25d4() 000025f4 { 000025f4 /* tailcall */ 000025f4 return sub_25d4(); 000025f4 } 00002638 fe 8d 5e d8 8b 04 8d 56 ..^....V 00002640 f6 89 46 f6 8d 46 90 e8 01 05 89 c7 8b 46 f6 89 04 8b 46 e4 03 46 e6 03 46 e8 03 46 ea 03 46 ec ..F..F.......F....F..F..F..F..F. 00002660 03 46 ee 89 56 f8 29 46 de f6 46 da 08 74 19 8d 5e 90 83 7e e4 00 7e 2a 8a 17 8d 46 d8 30 f6 ff .F..V.)F..F..t..^..~..~*...F.0.. 00002680 56 fc 43 ff 4e e4 eb ea 80 7e f1 20 75 e1 83 7e de 00 7e db ba 20 00 8d 46 d8 ff 56 fc ff 4e de V.C.N....~. u..~..~.. ..F..V..N. 000026a0 eb ec 83 7e e6 00 7e 0e ba 30 00 8d 46 d8 ff 56 fc ff 4e e6 eb ec 8a 46 f0 3c 73 75 44 f6 46 da ...~..~..0..F..V..N....F. 0xf38a2776 */ 00002922 } 0000292c int32_t __convention("regparm") sub_292c(void* arg1, void* arg2) 0000292c { 0000293b int32_t ecx = 0; 00002940 int32_t ebx; 00002940 00002940 if (ebx != 0xffffffff) 00002940 { 00002973 if (*(uint32_t*)(arg2 + arg2) && 0 <= ebx) 00002973 { 0000297d ecx = 0xff3d39b7(); 00002982 int32_t var_16_2 = *(uint32_t*)((char*)arg1 + 3); 00002973 } 00002973 0000298b if (ecx > ebx) 0000298d return ebx; 00002940 } 00002940 else if (*(uint32_t*)(arg2 + arg2)) 00002949 { 00002953 ecx = 0xff3d39b7(); 00002958 int32_t var_16_1 = *(uint32_t*)((char*)arg2 + 1); 00002949 } 00002949 0000295f return ecx; 0000292c } 00002991 51 56 57 55 89 e5 52 53 bb 10 00 8b 7e fe 8b QVWU..RS....~.. 000029a0 76 fe e8 72 10 8c d8 8e c0 b9 ff ff 33 c0 f2 ae f7 d1 49 8b 46 fc 8b 5e fe 8b 7e fe 48 01 cb 01 v..r........3.....I.F..^..~.H... 000029c0 c6 39 fb 75 10 8b 5e fe 01 c3 85 c0 7c 10 48 c6 07 30 4b eb f5 4b 8a 17 48 88 14 4e eb e3 8b 5e .9.u..^.....|.H..0K..K..H..N...^ 000029e0 fe 03 5e fc c6 07 00 e9 77 ff 56 57 ..^.....w.VW 000029ec void* __convention("regparm") sub_29ec(void* arg1, int32_t arg2, char* arg3, void* arg4 @ edi) 000029ec { 000029ec int32_t ebp; 000029ec int32_t var_4 = ebp; 000029f2 void* esi = arg1; 000029f4 *(uint32_t*)((char*)esi - 4) = arg2; 000029f7 int32_t ebx; 000029f7 *(uint32_t*)((char*)esi - 6) = ebx; 000029fa *(uint32_t*)((char*)esi - 2) = arg3; 000029fa 000029ff if (arg3 < 0) 000029ff { 00002a29 *(uint32_t*)((char*)esi - 2) = -(*(uint32_t*)((char*)esi - 2)); 00002a2c char var_7c05a10d_1 = 0x5e; 00002a34 *(uint8_t*)arg1 += 1; 00002a36 esi += 1; 000029ff } 000029ff 00002a01 void* ebx_1 = *(uint32_t*)((char*)esi - 4); 00002a01 00002a08 if (*(uint32_t*)((char*)arg4 + 8) != 0xffffffff) 00002a08 { 00002a14 arg3[0xffde8f2] -= 1; 00002a1a *(uint32_t*)((char*)esi - 8) = esi; 00002a08 } 00002a08 else 00002a08 { 00002a0a *(uint32_t*)((char*)arg4 + 8) = 0xabb0004; 00002a11 *(uint8_t*)((char*)ebx_1 - 0xd7601ba) += arg3; 00002a17 arg1 = 0x76893a19(); 00002a08 } 00002a08 00002a1d while (true) 00002a1d { 00002a1d arg1 = arg3 + arg1 - 0x80; 00002a1d 00002a23 if (!arg1) 00002a23 break; 00002a23 00002a25 esi = arg1; 00002a1d } 00002a1d 00002a39 int32_t ebx_3 = *(uint32_t*)((char*)esi - 4); 00002a39 00002a40 if (*(uint32_t*)((char*)arg4 + 8)) 00002a40 { 00002a42 *(uint8_t*)((char*)esi + &var_4) = 0x31; 00002a46 *(uint32_t*)(arg3 - 0x3a1743a) -= 1; 00002a4f int32_t eflags; 00002a4f 00002a4f while (arg4 < *(uint32_t*)((char*)arg4 + 8)) 00002a4f { 00002a51 *(uint32_t*)((char*)esi - 6); 00002a5b *(uint32_t*)((char*)esi - 2) = 0xc1e80000; 00002a62 arg3 = *(uint32_t*)0x4689fe56; 00002a68 eflags = __cli(eflags); 00002a69 arg1 = *(uint8_t*)((char*)esi - 2); 00002a6c arg1 += 0x30; 00002a6e arg4 += 1; 00002a6f *(uint8_t*)((char*)esi + (arg1 << 1)) = arg1; 00002a49 ebx_3 = *(uint32_t*)((char*)esi - 4); 00002a4f } 00002a4f 00002a74 *(uint8_t*)(arg1 * 2) = 0xf6; 00002a78 esi += 1; 00002a79 __sti(eflags); 00002a7a *(uint8_t*)((char*)var_4)[3] ^= 0xe9; 00002a7e __int1(); 00002a40 } 00002a40 else if (!(*(uint8_t*)((char*)esi - 5) & 0x80)) 00002a7d /* jump -> 0x763c2773 */ 00002a7d 00002a80 int32_t temp0 = *(uint32_t*)((char*)esi - 8); 00002a80 bool cond:1 = esi != temp0; 00002a83 void* esi_1; 00002a83 00002a83 if (esi == temp0) 00002a83 { 00002a96 *(uint8_t*)(arg3 + esi) = 0x46; 00002a96 00002a9a while (true) 00002a9a { 00002a9a arg1 = *(uint8_t*)((arg3 << 2) + 0x303c017c); 00002a9a 00002aa1 if (cond:1) 00002aa1 break; 00002aa1 00002aa3 esi = arg4; 00002a9a } 00002a9a 00002aa9 if (arg1 == 0x2e) 00002aa9 { 00002aab *(uint8_t*)((char*)arg1 + esi) = 0x8d; 00002aab 00002aaf if (arg1 != 0x2e) 00002ab2 arg1 += 0x75303c80; 00002aaf else 00002ab1 *(uint32_t*)0x75303c80 = arg1; 00002ab1 00002ab7 arg1 += *(uint32_t*)((char*)esi - 0x15); 00002aa9 } 00002aa9 00002abb *(uint8_t*)((char*)arg1 + esi) = 0x46; 00002abf *(uint8_t*)(arg1 * 2) = 0xe9; 00002ac3 arg1 = *(uint8_t*)esi; 00002ac3 esi_1 = (char*)esi + 1; 00002a83 } 00002a83 else 00002a83 { 00002a85 esi_1 = (char*)esi - 1; 00002a86 *(uint8_t*)((char*)esi_1 + &var_4); 00002a8a *(uint32_t*)((char*)esi_1 - 0x80) = &arg3[*(uint32_t*)((char*)esi_1 - 0x80)]; 00002a8a 00002a8f if (arg1 == 0x39) 00002a8f { 00002a91 *(uint8_t*)((char*)arg1 + esi_1) = 0xeb; 00002a95 /* undefined */ 00002a8f } 00002a83 } 00002a83 00002ac5 arg3[&var_4 << 3] += 1; 00002ac8 *(uint32_t*)esi_1 - *(uint32_t*)arg4; 00002ac8 void* edi = (char*)arg4 + 4; 00002aca int32_t var_10 = ebx_3; 00002aca 00002ad7 if (!(*(uint8_t*)((char*)edi + 2) & 8) && *(uint8_t*)((char*)edi + 0x19) == 0x30) 00002ad7 { 00002aeb arg1 = *(uint32_t*)((char*)edi + 6) - *(uint32_t*)((char*)edi + 0xc) - *(uint32_t*)((char*)edi + 0xe) - *(uint32_t*)((char*)edi + 0x10) - *(uint32_t*)((char*)edi + 0x12) - *(uint32_t*)((char*)edi + 0x14) - *(uint32_t*)((char*)edi + 0x16); 00002aeb 00002af0 if (arg1 > 0) 00002af2 *(uint32_t*)((char*)edi + 0xe) += arg1; 00002ad7 } 00002ad7 00002af6 return arg1; 000029ec } 00002af7 56 57 55 89 e5 83 ec 06 89 VWU...... 00002b00 c7 89 56 fe 89 4e fc 83 7f 10 00 7f 03 e9 61 fc 8e 46 fe 8d 46 fa 26 8b 15 e8 99 0e 83 c7 02 89 ..V..N........a..F..F.&......... 00002b20 c1 3d ff ff 74 e1 3b 47 10 7f 18 8d 76 fa 49 83 f9 ff 74 d3 8a 14 89 d8 30 f6 46 ff 56 fc ff 4f .=..t.;G....v.I...t.....0.F.V..O 00002b40 10 eb eb c7 47 10 00 00 e9 26 fc 56 57 55 89 e5 83 ec 12 50 89 d7 89 de c7 47 16 00 00 89 46 f8 ....G....&.VWU.....P.....G....F. 00002b60 8b 47 16 89 47 14 89 47 12 89 47 10 89 47 0e 89 47 0c 8a 47 18 8c 5e fa 3c 62 75 23 8a 44 02 a8 .G..G..G..G..G..G..G..^...th..u..~ 00002ea0 f6 00 75 0c 83 7e f4 00 75 06 83 7e f2 00 74 24 8b 44 0c 89 c2 8b 5e ec 42 01 c3 89 54 0c c6 07 ..u..~..u..~..t$.D....^.B...T... 00002ec0 30 8b 44 0c 8b 5e ec 89 c2 01 c3 42 8a 44 18 89 54 0c 88 07 c7 46 f0 10 00 e9 68 fe 3c 75 75 03 0.D..^.....B.D..T....F....h........ 00002f60 8b 1d 8d 46 ee 8b 57 fe e8 4a 0a 3d ff ff 75 03 e9 57 fe 8b 5e ec 8a 46 ee 88 07 83 3e c8 0a 00 ...F..W..J.=..u..W..^..F....>... 00002f80 74 ee 88 c3 30 ff 8a 87 cb 0a 24 01 30 e4 85 c0 74 de 8b 5e ec 8a 46 ef 88 47 01 ff 44 0c e9 29 t...0.....$.0...t..^..F..G..D..) 00002fa0 fe a8 02 83 05 02 8b 1d 8b 5f fe 85 db 74 06 8c 5e fa 89 5e f8 80 7c 18 53 75 34 f6 44 02 20 74 ........._...t..^..^..|.Su4.D. t 00002fc0 20 8b 46 f8 8b 56 fa 8b 5c 08 e8 40 f9 89 44 10 83 7c 08 00 7c 9a 3b 44 08 7e 95 8b 44 08 e9 e6 .F..V..\..@..D..|..|.;D.~..D... 00002fe0 fd 8b 46 f8 8b 56 fa 8b 5c 08 e8 3f f9 eb de f6 44 02 40 75 ec eb ca ff 76 f0 8b 46 ec 8b 5e f6 ..F..V..\..?....D.@u....v..F..^. 00003000 03 44 0c 8b 56 f2 50 89 c8 8b 4e f4 e8 43 0a 80 7c 18 58 75 06 8b 46 ec e8 17 0a bb ff ff 8b 46 .D..V.P...N..C..|.Xu..F........F 00003020 f8 8b 56 fa e8 e6 f8 89 44 10 89 c2 3b 44 08 7c 4a f6 44 02 01 75 03 e9 90 fd 83 7e f0 0a 7d f7 ..V.....D...;D.|J.D..u.....~..}. 00003040 85 c0 74 09 c4 5e f8 26 80 3f 30 74 ea ff 44 0e e9 77 fd 83 7c 08 00 75 0e 8b 46 fe 0b 46 fc 75 ..t..^.&.?0t..D..w..|..u..F..F.u 00003060 06 8e 46 fa e9 1a fd 8b 5e ec 8b 4e f0 8b 46 fc 8b 56 fe 03 5c 0c e8 f1 0a eb 94 8b 44 08 29 d0 ..F.....^..N..F..V..\.......D.). 00003080 89 44 0e e9 44 fd c7 44 06 04 00 e9 76 fd bb 04 00 8b 56 ec 89 c8 e9 9d fd 83 05 02 8b 1d 8b 46 .D..D..D....v.....V............F 000030a0 ec 8b 57 fe e8 0e 09 3d ff ff 74 03 e9 18 fd c7 44 10 00 00 e9 13 fd 53 51 56 57 55 89 e5 83 ec ..W....=..t.....D......SQVWU.... 000030c0 04 89 c6 89 56 fe 83 7c 06 00 74 60 31 ff f6 44 07 10 75 5d 8b 44 02 85 c0 74 16 f7 d8 8b 5c 08 ....V..|..t`1..D..u].D...t....\. 000030e0 99 89 5e fc 89 d1 89 c3 ba 01 00 8b 46 fc e8 f0 00 83 7e fe 00 74 08 8b 44 08 e8 e0 0a 09 c7 f6 ..^.........F.....~..t..D....... 00003100 44 06 08 74 11 8b 5c 04 8b 47 04 e8 4b d4 8b 5c 04 c7 47 04 00 00 f6 44 07 08 74 06 89 f0 ff 16 D..t..\..G..K..\..G....D..t..... 00003120 c2 0a 89 f8 89 ec 5d 5f 5e 59 5b c3 bf ff ff eb f1 e8 a3 e0 89 c7 eb 9c 53 89 c3 e8 79 ff 89 c2 ......]_^Y[.............S...y... 00003140 89 d8 e8 26 00 89 d0 5b c3 ...&...[. 00003149 int32_t __convention("fastcall") sub_3149(int32_t arg1, int32_t arg2, int32_t* arg3 @ esi, int32_t* arg4 @ edi) 00003149 { 00003149 int32_t ebx; 00003149 int32_t var_4 = ebx; 0000314b int32_t ebx_1 = *(uint32_t*)arg3; 0000314d int32_t eax; 0000314d *(uint8_t*)((char*)eax)[1] = 0xa; 0000314d 00003151 while (true) 00003151 { 00003151 if (!ebx_1) 00003161 return 0x5b5affff; 00003161 00003156 if (eax == *(uint32_t*)((char*)arg4 + 2)) 00003156 break; 00003156 00003158 ebx_1 = *(uint32_t*)arg4; 00003151 } 00003151 0000316a return (*(uint32_t*)0xd0e8005c)(arg2); 00003149 } 0000316b void __convention("regparm") sub_316b(int32_t* arg1, int32_t arg2, int32_t arg3, void* arg4 @ ebp) 0000316b { 0000316b int32_t* ebx; 0000316b int32_t* var_4 = ebx; 00003170 int32_t* esi = 0x1c8b0ab4; 00003170 00003177 if (ebx) 00003177 { 00003179 int32_t temp0_1 = *(uint32_t*)((char*)arg1 + 2); 00003179 0000317c while (arg1 != temp0_1) 0000317c { 0000317a do 0000317a { 0000317e esi = ebx; 00003173 ebx = *(uint32_t*)((arg1 << 2) + 0x3b1b74db); 0000317a } while (arg1 > temp0_1); 0000317c } 0000317c 00003182 *(uint8_t*)((char*)arg4 + 6) |= 3; 00003186 int32_t** edi_1 = *(uint32_t*)arg1; 00003188 ebx[arg3] = edi_1; 0000318b *(uint8_t*)((char*)arg2)[1] = 0xa; 0000318e *(uint32_t*)esi = ebx; 00003190 *(uint8_t*)((char*)arg2)[1] = 0xa; 00003192 *(uint32_t*)edi_1 = esi; 00003177 } 0000316b } 00003198 void __convention("fastcall") sub_3198(int32_t arg1, int32_t arg2, int32_t* arg3 @ esi, int32_t* arg4 @ edi) 00003198 { 0000319a int32_t __saved_edx = arg2; 0000319b int32_t i = *(uint32_t*)arg3; 0000319d *(uint8_t*)((char*)arg2)[1] = 0xa; 0000319d 000031a1 while (i) 000031a1 { 000031af *(uint32_t*)arg3 = i; 000031b3 *(uint32_t*)arg4; 000031b5 int32_t eax; 000031b5 eax = 0xd18a055b(__saved_edx, arg1); 000031a1 } 000031a1 000031a3 *(uint32_t*)arg3 = i; 00003198 } 000031bc void sub_31bc(void* arg1 @ edi) 000031bc { 000031bf char temp0 = *(uint8_t*)((char*)arg1 + 7) & 0x20; 000031bf 000031c3 if (!temp0) 000031c3 { 000031c7 *(uint32_t*)((char*)arg1 + 8); 000031ca 0xc0853c0e(); 000031ca 000031cf if (temp0) 000031cf { 000031d1 *(uint8_t*)((char*)arg1 + 7) |= 0x20; 000031d1 000031d9 if (!(*(uint8_t*)((char*)arg1 + 7) & 7)) 000031db *(uint8_t*)((char*)arg1 + 7) |= 2; 000031cf } 000031c3 } 000031bc } 000031e1 void __convention("regparm") sub_31e1(int32_t arg1, char arg2) __noreturn 000031e1 { 000031ee arg1 = arg2; 000031f4 *(uint8_t*)((char*)arg1)[1] = 0x42; 000031f6 trap(0x21); 000031e1 } 00003219 51 56 57 55 89 e5 83 QVWU... 00003220 ec 02 89 c6 89 56 fe 89 df e8 62 0a a8 80 74 14 b0 02 89 f3 31 d2 31 c9 b4 42 cd 21 d1 d2 d1 ca .....V....b...t.....1.1..B.!.... 00003240 85 d2 7c 26 8b 56 fe 89 f9 89 f3 b4 40 cd 21 19 d2 89 c6 85 d2 7c 13 39 f8 74 06 b8 0c 00 e8 5f ..|&.V......@.!......|.9.t....._ 00003260 e0 89 f0 ... 00003263 int32_t sub_3263(int32_t* arg1 @ ebp) 00003263 { 00003265 *(uint32_t*)arg1; 00003265 arg1[1]; 00003266 arg1[2]; 00003267 arg1[3]; 00003263 } 0000326a e8 c7 09 eb f4 e9 54 0a b8 c4 0a c3 b8 c6 0a c3 53 51 52 56 89 c1 ......T.........SQRV.. 00003280 8b 36 b4 0a 31 d2 85 f6 74 1a 8b 5c 02 85 4f 06 75 04 8b 34 eb f0 42 f6 47 07 10 74 f5 89 d8 e8 .6..1...t..\..O.u..4..B.G..t.... 000032a0 35 df eb ee 89 d0 5e 5a 59 5b c3 5.....^ZY[. 000032ab char* __convention("fastcall") sub_32ab(char* arg1) 000032ab { 000032b0 char* result = *(uint32_t*)0x6c709d2; 000032b5 *(uint8_t*)arg1 = RORB(*(uint8_t*)arg1, arg1); 000032b7 *(uint8_t*)result += result; 000032b7 000032bb if (result) 000032bd return result; 000032bd 000032be *(uint8_t*)((char*)result)[1] = 1; 000032c0 trap(0x21); 000032ab } 000032c5 51 89 d9 89 c3 b4 3f cd 21 19 d2 85 d2 7c 02 59 c3 e8 5b 09 59 c3 53 89 c3 8a 9f Q.....?.!....|.Y..[.Y.S.... 000032e0 cb 0a 80 e3 01 30 e7 89 d8 5b c3 31 c0 e9 18 0a 56 57 .....0...[.1....VW 000032f2 void* __convention("fastcall") sub_32f2(int32_t, int32_t arg2, void* arg3 @ ebp, int32_t arg4) 000032f2 { 000032fa if (!arg2) 00003316 return 0; 00003316 000032fe char* ebx; 000032fe 000032fe if (!ebx) 0000331c return 0x5e5fffff; 0000331c 00003304 *(uint8_t*)((char*)arg3 - 0x38fb8b01) = *(uint8_t*)((char*)arg3 - 0x38fb8b01) - ebx; 00003311 return &ebx[0xc0310000]; 000032f2 } 0000331d void __convention("regparm") sub_331d(char* arg1, void* arg2, void* arg3, void* arg4 @ ebp, int32_t arg5 @ esi, int32_t arg6 @ edi, long double arg7 @ st0) 0000331d { 0000331d *(uint32_t*)arg5; 00003320 arg1 |= *(uint8_t*)arg1; 00003322 void* ebx; 00003322 bool cond:0; 00003322 00003322 if (!arg1) 00003322 { 00003339 label_3339: 00003339 *(uint32_t*)arg5; 0000333c arg1 |= *(uint8_t*)arg1; 0000333c cond:0 = !arg1; 00003322 } 00003322 else 00003322 { 00003324 ebx = arg1[arg5]; 00003327 *(uint32_t*)((char*)arg2 - 0x7ff53461) -= 1; 00003327 0000332d if (!arg3) 00003330 /* undefined */ 00003330 00003331 if (!ebx) 00003331 goto label_3339; 00003331 00003333 cond:0 = *(uint8_t*)((char*)arg3 + arg1) == 0x74; 00003338 *(uint16_t*)((char*)ebx + 0xac83e); 00003322 } 00003322 0000333e if (!cond:0) 0000333e { 00003340 ebx = arg1[arg5]; 00003343 *(uint32_t*)((char*)arg2 - 0x7ff53461) -= 1; 00003343 00003349 if (!arg3) 0000334c /* undefined */ 0000334c 0000334d if (ebx) 0000334d { 00003356 if (arg6) 00003356 { 00003358 *(uint8_t*)((char*)ebx)[1] = *(uint8_t*)((char*)arg2 + (arg3 << 2)); 0000335c *(uint32_t*)((char*)arg3 + 0x2b81d) += arg3; 00003362 *(uint32_t*)__return_addr; 00003363 *(uint32_t*)((char*)__return_addr + 4); 00003356 } 00003356 00003364 return; 0000334d } 0000333e } 0000333e 00003365 *(uint32_t*)arg5; 00003368 arg1 |= *(uint8_t*)arg1; 0000336a int32_t eflags; 0000336a 0000336a if (arg1) 0000336a { 0000336c ebx = arg1[arg5]; 0000336f *(uint32_t*)((char*)arg2 + 0x240acb87) -= 1; 00003375 *(uint32_t*)arg1 += arg5; 00003377 arg1 = __in_al_immb(0x85, eflags); 00003379 *(uint8_t*)((char*)arg4 - 0x65) <<= 0x85; 0000337d int32_t var_4 = *(uint32_t*)(arg5 + arg1 - 0x76); 00003381 arg1 += 0x30; 00003383 arg1 = __in_al_immb(0x89, eflags); 0000337d var_4; 0000336a } 0000336a else if (arg6) 0000337e { 00003380 arg1 = arg1[arg5]; 00003383 arg1 = __in_al_immb(0x89, eflags); 0000338a int32_t* esp; 0000338a *(uint32_t*)esp; 0000337e } 0000331d } 0000338c void __convention("regparm") sub_338c(uint32_t arg1, uint32_t arg2, uint32_t arg3, int32_t* arg4 @ ebp) 0000338c { 0000338c uint32_t edx_8 = arg2; 0000338c 0000338e if (edx_8 < 0) 0000338e { 000033af if (arg3 < 0) 000033af { 000033b8 int32_t eax_3; 000033b8 int32_t ecx_6; 000033b8 eax_3 = 0xd9f733d7(); 000033c2 return; 000033af } 000033af 000033c3 int32_t eax_4; 000033c3 int32_t ecx_8; 000033c3 int32_t edx_4; 000033c3 eax_4 = 0xd9f733d7(); 000033d4 return; 0000338e } 0000338e 00003392 if (arg3 < 0) 00003392 { 0000339b int32_t eax; 0000339b int32_t edx; 0000339b eax = 0xdaf733d7(); 000033a5 return; 00003392 } 00003392 000033d5 uint32_t ecx_10 = arg3; 000033d5 000033d7 if (!ecx_10) 000033f2 return; 000033f2 000033f5 int32_t ebx; 000033f5 000033f5 if (ecx_10 >= edx_8) 000033f5 { 000033fb if (ecx_10 == edx_8 && ebx <= arg1) 0000340a *(uint32_t*)arg4; 0000340a 00003410 return; 000033f5 } 000033f5 00003411 int32_t* var_4 = arg4; 00003413 int32_t esi = 0; 00003415 int32_t ebp_1 = 0; 00003417 bool c_9; 00003417 bool c_10; 00003417 00003417 while (true) 00003417 { 00003417 int32_t temp11_1 = ebx; 00003417 int32_t temp12_1 = ebx; 00003417 ebx *= 2; 00003417 bool c_8 = temp11_1 + temp12_1 < temp11_1; 00003419 uint32_t temp13_1 = ecx_10; 00003419 uint32_t temp14_1 = ecx_10; 00003419 ecx_10 = temp13_1 + temp14_1; 00003419 c_9 = temp13_1 + temp14_1 < temp13_1 || (c_8 && temp13_1 + temp14_1 == temp13_1); 00003419 0000341b if (c_9) 0000341b break; 0000341b 0000341d ebp_1 += 1; 0000341d 00003420 if (ecx_10 >= edx_8) 00003420 { 00003426 if (ecx_10 <= edx_8 && ebx <= arg1) 00003426 continue; 00003426 00003428 c_10 = false; 00003428 goto label_3429; 00003420 } 00003417 } 00003417 0000342e while (true) 0000342e { 0000342e uint32_t temp15_1 = ecx_10; 0000342e ecx_10 = RRCD(temp15_1, 1, c_9); 00003430 ebx = RRCD(ebx, 1, temp15_1 & 1); 00003432 uint32_t temp16_1 = arg1; 00003432 arg1 -= ebx; 00003434 edx_8 = edx_8 - ecx_10; 00003434 bool c_13 = /* bool c_13 = unimplemented {sbb edx, ecx} */; 00003437 uint32_t temp25_1; 00003437 bool c_15; 00003437 00003437 for (c_10 = c_13 ^ 1; !c_10; c_10 = temp25_1 + ecx_10 < temp25_1 || (c_15 && temp25_1 + ecx_10 == temp25_1)) 00003437 { 00003439 esi *= 2; 0000343b int32_t temp21_1 = ebp_1; 0000343b ebp_1 -= 1; 0000343b 0000343c if (temp21_1 - 1 < 0) 00003458 return; 00003458 0000343e uint32_t temp23_1 = ecx_10; 0000343e ecx_10 u>>= 1; 00003440 ebx = RRCD(ebx, 1, temp23_1 & 1); 00003442 uint32_t temp24_1 = arg1; 00003442 arg1 += ebx; 00003442 c_15 = temp24_1 + ebx < temp24_1; 00003444 temp25_1 = edx_8; 00003444 edx_8 = temp25_1 + ecx_10; 00003437 } 00003437 00003429 label_3429: 00003429 int32_t temp18_1 = esi; 00003429 int32_t temp19_1 = esi; 00003429 esi = temp18_1 + temp19_1; 00003429 c_9 = temp18_1 + temp19_1 < temp18_1 || (c_10 && temp18_1 + temp19_1 == temp18_1); 0000342b int32_t temp20_1 = ebp_1; 0000342b ebp_1 -= 1; 0000342b 0000342c if (temp20_1 - 1 < 0) 00003458 return; 0000342e } 0000338c } 00003459 int32_t __convention("fastcall") sub_3459(int32_t arg1, int32_t arg2) 00003459 { 00003459 int32_t ebx; 00003459 int32_t var_4 = ebx; 0000345a int32_t var_8 = arg2; 00003460 *(uint32_t*)(arg2 - 0xf697210); 00003459 } 00003469 int32_t __convention("regparm") sub_3469(int32_t arg1, int16_t arg2, void* arg3) 00003469 { 00003469 *(uint8_t*)((char*)arg3 + 0x3d747ff0) += *(uint8_t*)((char*)arg3)[1]; 0000346f int32_t ecx = arg3 * 2; 0000346f bool c = arg3 * 2 < arg3; 00003471 int32_t ebx; 00003471 int32_t ebx_1 = ebx + ebx; 00003471 bool c_1 = ebx + ebx < ebx || (c && ebx + ebx == ebx); 00003475 *(uint8_t*)((char*)arg2)[1] = 0; 00003477 *(uint8_t*)((char*)arg2)[1] = RRCB(0, 1, arg1 + arg1 < arg1 || (c_1 && arg1 + arg1 == arg1)); 00003479 char temp7 = *(uint8_t*)((char*)ecx)[1]; 00003479 *(uint8_t*)((char*)ecx)[1] += 0x20; 00003479 bool c_3 = temp7 >= 0xe0; 0000347c int32_t ebx_2 = ebx_1 + 0; 0000347f int32_t eax_1 = arg1 + arg1 + 0; 0000347f 00003482 if (!eax_1) 000034ab return 0; 000034ab 0000348e bool c_5 = eax_1 < 0xc9037000; 00003493 int32_t ebx_3 = ebx_2 + ebx_2; 00003495 int32_t eax_3 = eax_1 + 0x36fc9000 + eax_1 + 0x36fc9000; 00003497 bool c_7 = ecx * 2 < ecx; 0000349d int32_t eax_4; 0000349d *(uint8_t*)((char*)eax_4)[1] = *(uint8_t*)((char*)(eax_3 + eax_3))[1] | *(uint8_t*)((char*)arg2)[1]; 000034a2 return ebx_3 + ebx_3; 00003469 } 000034ac void sub_34ac() __pure 000034ac { 000034b0 return; 000034ac } 000034b1 void __convention("regparm") sub_34b1(int32_t arg1, int32_t arg2, int32_t arg3, int32_t arg4 @ esi) __noreturn 000034b1 { 000034c0 int32_t var_4 = arg4; 000034c1 int32_t es; 000034c1 int32_t var_8 = *(uint32_t*)(es + arg4 + arg1 + 0xc30020 + 0x26); 000034c6 int32_t var_c = *(uint32_t*)(&arg_1e + arg1 + 0xc30020); 000034ca int32_t var_10 = *(uint32_t*)(arg2 + arg1 + 0xc30020 + 0x26); 000034ce int32_t ebx; 000034ce int32_t var_14 = *(uint32_t*)(ebx + (arg3 << 2)); 000034d1 trap(0xd); 000034b1 } 000034d2 e8 05 00 83 c4 08 5e c3 55 8b ec 50 53 51 ......^.U..PSQ 000034e0 52 36 0b 44 06 74 03 e9 c0 00 36 0b 5c 04 75 53 36 0b 4c 02 75 15 36 0b 14 75 04 8b e5 5d c3 8b R6.D.t....6.\.uS6.L.u.6..u...].. 00003500 46 f8 36 f7 24 92 91 8b e5 5d c3 8b 46 f8 36 f7 24 50 52 8b 46 fa 36 f7 64 02 50 52 8b 46 f8 36 F.6.$....]..F.6.$PR.F.6.d.PR.F.6 00003520 f7 64 02 01 46 f4 11 56 f2 11 5e f0 8b 46 fa 36 f7 24 01 46 f4 11 56 f2 11 5e f0 58 5b 59 5a 8b .d..F..V..^..F.6.$.F..V..^.X[YZ. 00003540 e5 5d c3 8b 46 f8 36 f7 24 50 52 8b 46 f8 36 f7 64 04 50 52 8b 46 f8 36 f7 64 02 01 46 f4 11 56 .]..F.6.$PR.F.6.d.PR.F.6.d..F..V 00003560 f2 83 56 f0 00 8b 46 fa 36 f7 24 01 46 f4 11 56 f2 83 56 f0 00 8b 46 fa 36 f7 64 02 01 46 f2 11 ..V...F.6.$.F..V..V...F.6.d..F.. 00003580 56 f0 8b 46 fc 36 f7 24 01 46 f2 11 56 f0 8b 46 fa 36 f7 64 04 01 46 f0 8b 46 fc 36 f7 64 02 01 V..F.6.$.F..V..F.6.d..F..F.6.d.. 000035a0 46 f0 58 5b 59 5a 8b e5 5d c3 8b 46 f8 36 f7 24 50 52 8b 46 f8 36 f7 64 04 50 52 8b 46 f8 36 f7 F.X[YZ..]..F.6.$PR.F.6.d.PR.F.6. 000035c0 64 02 01 46 f4 11 56 f2 83 56 f0 00 8b 46 fa 36 f7 24 01 46 f4 11 56 f2 83 56 f0 00 8b 46 fa 36 d..F..V..V...F.6.$.F..V..V...F.6 000035e0 f7 64 02 01 46 f2 11 56 f0 8b 46 fc 36 f7 24 01 46 f2 11 56 f0 8b 46 fa 36 f7 64 04 01 46 f0 8b .d..F..V..F.6.$.F..V..F.6.d..F.. 00003600 46 fc 36 f7 64 02 01 46 f0 8b 46 f8 36 f7 64 06 01 46 f0 8b 46 fe 36 f7 24 01 46 f0 58 5b 59 5a F.6.d..F..F.6.d..F..F.6.$.F.X[YZ 00003620 8b e5 5d c3 93 50 92 0b c0 74 02 f7 e2 91 0b c0 74 04 f7 e3 03 c8 58 f7 e3 03 d1 c3 55 1e 52 50 ..]..P...t......t.....X.....U.RP 00003640 32 ff 8b cb d1 e3 03 d9 81 c3 71 36 8c c9 8e c1 e8 2c 00 53 1e 55 8b ec c5 5e 06 9c 8f 47 12 89 2.........q6.....,.S.U...^...G.. 00003660 07 89 4f 04 89 57 06 89 77 0a 89 7f 0c 8f 47 08 8f 47 0e 8f 47 02 8c 47 10 83 c4 04 1f 5d c3 ..O..W..w.....G..G..G..G.....]. 0000367f int32_t sub_367f(int32_t* arg1 @ edi) 0000367f { 0000367f int16_t es; 0000367f uint32_t var_4 = (uint32_t)es; 00003685 int16_t var_c = (int16_t)*(uint32_t*)((char*)arg1 + 0xe); 00003688 *(uint32_t*)arg1; 0000368a arg1[1]; 0000368d *(uint32_t*)((char*)arg1 + 6); 00003690 *(uint32_t*)((char*)arg1 + 0xa); 00003693 void* edi = arg1[3]; 00003696 *(uint32_t*)((char*)edi + 8); 00003699 *(uint16_t*)((char*)edi + 0x10); 0000369c *(uint32_t*)((char*)edi + 2); 000036a0 /* undefined */ 0000367f } 000036a1 cd 00 .. 000036a3 int32_t sub_36a3() __pure 000036a3 { 000036a3 return; 000036a3 } 000036a4 cd 01 .. 000036a6 int32_t sub_36a6() __pure 000036a6 { 000036a6 return; 000036a6 } 000036a7 cd 02 .. 000036a9 int32_t sub_36a9() __pure 000036a9 { 000036a9 return; 000036a9 } 000036aa cc 90 .. 000036ac int32_t sub_36ac() __pure 000036ac { 000036ac return; 000036ac } 000036ad cd 04 .. 000036af int32_t sub_36af() __pure 000036af { 000036af return; 000036af } 000036b0 cd 05 .. 000036b2 int32_t sub_36b2() __pure 000036b2 { 000036b2 return; 000036b2 } 000036b3 cd 06 .. 000036b5 int32_t sub_36b5() __pure 000036b5 { 000036b5 return; 000036b5 } 000036b6 cd 07 .. 000036b8 int32_t sub_36b8() __pure 000036b8 { 000036b8 return; 000036b8 } 000036b9 cd 08 .. 000036bb int32_t sub_36bb() __pure 000036bb { 000036bb return; 000036bb } 000036bc cd 09 .. 000036be int32_t sub_36be() __pure 000036be { 000036be return; 000036be } 000036bf cd . 000036c0 0a . 000036c1 int32_t sub_36c1() __pure 000036c1 { 000036c1 return; 000036c1 } 000036c2 cd 0b .. 000036c4 int32_t sub_36c4() __pure 000036c4 { 000036c4 return; 000036c4 } 000036c5 cd 0c .. 000036c7 int32_t sub_36c7() __pure 000036c7 { 000036c7 return; 000036c7 } 000036c8 cd 0d .. 000036ca int32_t sub_36ca() __pure 000036ca { 000036ca return; 000036ca } 000036cb cd 0e .. 000036cd int32_t sub_36cd() __pure 000036cd { 000036cd return; 000036cd } 000036ce cd 0f .. 000036d0 int32_t sub_36d0() __pure 000036d0 { 000036d0 return; 000036d0 } 000036d1 cd 10 .. 000036d3 int32_t sub_36d3() __pure 000036d3 { 000036d3 return; 000036d3 } 000036d4 cd 11 .. 000036d6 int32_t sub_36d6() __pure 000036d6 { 000036d6 return; 000036d6 } 000036d7 cd 12 .. 000036d9 int32_t sub_36d9() __pure 000036d9 { 000036d9 return; 000036d9 } 000036da cd 13 .. 000036dc int32_t sub_36dc() __pure 000036dc { 000036dc return; 000036dc } 000036dd cd 14 .. 000036df int32_t sub_36df() __pure 000036df { 000036df return; 000036df } 000036e0 cd 15 .. 000036e2 int32_t sub_36e2() __pure 000036e2 { 000036e2 return; 000036e2 } 000036e3 cd 16 .. 000036e5 int32_t sub_36e5() __pure 000036e5 { 000036e5 return; 000036e5 } 000036e6 cd 17 .. 000036e8 int32_t sub_36e8() __pure 000036e8 { 000036e8 return; 000036e8 } 000036e9 cd 18 .. 000036eb int32_t sub_36eb() __pure 000036eb { 000036eb return; 000036eb } 000036ec cd 19 .. 000036ee int32_t sub_36ee() __pure 000036ee { 000036ee return; 000036ee } 000036ef cd 1a .. 000036f1 int32_t sub_36f1() __pure 000036f1 { 000036f1 return; 000036f1 } 000036f2 cd 1b .. 000036f4 int32_t sub_36f4() __pure 000036f4 { 000036f4 return; 000036f4 } 000036f5 cd 1c .. 000036f7 int32_t sub_36f7() __pure 000036f7 { 000036f7 return; 000036f7 } 000036f8 cd 1d .. 000036fa int32_t sub_36fa() __pure 000036fa { 000036fa return; 000036fa } 000036fb cd 1e .. 000036fd int32_t sub_36fd() __pure 000036fd { 000036fd return; 000036fd } 000036fe cd 1f .. 00003700 int32_t sub_3700() __pure 00003700 { 00003700 return; 00003700 } 00003701 cd 20 . 00003703 int32_t sub_3703() __pure 00003703 { 00003703 return; 00003703 } 00003704 cd 21 .! 00003706 int32_t sub_3706() __pure 00003706 { 00003706 return; 00003706 } 00003707 cd 22 ." 00003709 int32_t sub_3709() __pure 00003709 { 00003709 return; 00003709 } 0000370a cd 23 .# 0000370c int32_t sub_370c() __pure 0000370c { 0000370c return; 0000370c } 0000370d cd 24 .$ 0000370f int32_t sub_370f() __pure 0000370f { 0000370f return; 0000370f } 00003710 e9 8e 02 e9 95 ..... 00003715 int32_t __convention("regparm") sub_3715(char arg1, int32_t, int16_t arg3) 00003715 { 00003715 arg3 += *(uint8_t*)((char*)arg3)[1]; 00003717 int32_t eflags; 00003717 int32_t eflags_1; 00003717 char result; 00003717 result = __daa(arg1, eflags); 00003718 return result; 00003715 } 00003719 cd 28 .( 0000371b int32_t sub_371b() __pure 0000371b { 0000371b return; 0000371b } 0000371c cd 29 .) 0000371e int32_t sub_371e() __pure 0000371e { 0000371e return; 0000371e } 0000371f cd . 00003720 2a * 00003721 int32_t sub_3721() __pure 00003721 { 00003721 return; 00003721 } 00003722 cd 2b .+ 00003724 int32_t sub_3724() __pure 00003724 { 00003724 return; 00003724 } 00003725 cd 2c ., 00003727 int32_t sub_3727() __pure 00003727 { 00003727 return; 00003727 } 00003728 cd 2d .- 0000372a int32_t sub_372a() __pure 0000372a { 0000372a return; 0000372a } 0000372b cd 2e .. 0000372d int32_t sub_372d() __pure 0000372d { 0000372d return; 0000372d } 0000372e cd 2f ./ 00003730 int32_t sub_3730() __pure 00003730 { 00003730 return; 00003730 } 00003731 cd 30 .0 00003733 int32_t sub_3733() __pure 00003733 { 00003733 return; 00003733 } 00003734 cd 31 .1 00003736 int32_t sub_3736() __pure 00003736 { 00003736 return; 00003736 } 00003737 cd 32 .2 00003739 int32_t sub_3739() __pure 00003739 { 00003739 return; 00003739 } 0000373a cd 33 .3 0000373c int32_t sub_373c() __pure 0000373c { 0000373c return; 0000373c } 0000373d cd 34 .4 0000373f int32_t sub_373f() __pure 0000373f { 0000373f return; 0000373f } 00003740 cd 35 .5 00003742 int32_t sub_3742() __pure 00003742 { 00003742 return; 00003742 } 00003743 cd 36 .6 00003745 int32_t sub_3745() __pure 00003745 { 00003745 return; 00003745 } 00003746 cd 37 .7 00003748 int32_t sub_3748() __pure 00003748 { 00003748 return; 00003748 } 00003749 cd 38 .8 0000374b int32_t sub_374b() __pure 0000374b { 0000374b return; 0000374b } 0000374c cd 39 .9 0000374e int32_t sub_374e() __pure 0000374e { 0000374e return; 0000374e } 0000374f cd 3a .: 00003751 int32_t sub_3751() __pure 00003751 { 00003751 return; 00003751 } 00003752 cd 3b .; 00003754 int32_t sub_3754() __pure 00003754 { 00003754 return; 00003754 } 00003755 cd 3c .< 00003757 int32_t sub_3757() __pure 00003757 { 00003757 return; 00003757 } 00003758 cd 3d .= 0000375a int32_t sub_375a() __pure 0000375a { 0000375a return; 0000375a } 0000375b cd 3e .> 0000375d int32_t sub_375d() __pure 0000375d { 0000375d return; 0000375d } 0000375e cd 3f .? 00003760 int32_t sub_3760() __pure 00003760 { 00003760 return; 00003760 } 00003761 cd 40 .@ 00003763 int32_t sub_3763() __pure 00003763 { 00003763 return; 00003763 } 00003764 cd 41 .A 00003766 int32_t sub_3766() __pure 00003766 { 00003766 return; 00003766 } 00003767 cd 42 .B 00003769 int32_t sub_3769() __pure 00003769 { 00003769 return; 00003769 } 0000376a cd 43 .C 0000376c int32_t sub_376c() __pure 0000376c { 0000376c return; 0000376c } 0000376d cd 44 .D 0000376f int32_t sub_376f() __pure 0000376f { 0000376f return; 0000376f } 00003770 cd 45 .E 00003772 int32_t sub_3772() __pure 00003772 { 00003772 return; 00003772 } 00003773 cd 46 .F 00003775 int32_t sub_3775() __pure 00003775 { 00003775 return; 00003775 } 00003776 cd 47 .G 00003778 int32_t sub_3778() __pure 00003778 { 00003778 return; 00003778 } 00003779 cd 48 .H 0000377b int32_t sub_377b() __pure 0000377b { 0000377b return; 0000377b } 0000377c cd 49 .I 0000377e int32_t sub_377e() __pure 0000377e { 0000377e return; 0000377e } 0000377f cd . 00003780 4a J 00003781 int32_t sub_3781() __pure 00003781 { 00003781 return; 00003781 } 00003782 cd 4b .K 00003784 int32_t sub_3784() __pure 00003784 { 00003784 return; 00003784 } 00003785 cd 4c .L 00003787 int32_t sub_3787() __pure 00003787 { 00003787 return; 00003787 } 00003788 cd 4d .M 0000378a int32_t sub_378a() __pure 0000378a { 0000378a return; 0000378a } 0000378b cd 4e .N 0000378d int32_t sub_378d() __pure 0000378d { 0000378d return; 0000378d } 0000378e cd 4f .O 00003790 int32_t sub_3790() __pure 00003790 { 00003790 return; 00003790 } 00003791 cd 50 .P 00003793 int32_t sub_3793() __pure 00003793 { 00003793 return; 00003793 } 00003794 cd 51 .Q 00003796 int32_t sub_3796() __pure 00003796 { 00003796 return; 00003796 } 00003797 cd 52 .R 00003799 int32_t sub_3799() __pure 00003799 { 00003799 return; 00003799 } 0000379a cd 53 .S 0000379c int32_t sub_379c() __pure 0000379c { 0000379c return; 0000379c } 0000379d cd 54 .T 0000379f int32_t sub_379f() __pure 0000379f { 0000379f return; 0000379f } 000037a0 cd 55 .U 000037a2 int32_t sub_37a2() __pure 000037a2 { 000037a2 return; 000037a2 } 000037a3 cd 56 .V 000037a5 int32_t sub_37a5() __pure 000037a5 { 000037a5 return; 000037a5 } 000037a6 cd 57 .W 000037a8 int32_t sub_37a8() __pure 000037a8 { 000037a8 return; 000037a8 } 000037a9 cd 58 .X 000037ab int32_t sub_37ab() __pure 000037ab { 000037ab return; 000037ab } 000037ac cd 59 .Y 000037ae int32_t sub_37ae() __pure 000037ae { 000037ae return; 000037ae } 000037af cd 5a .Z 000037b1 int32_t sub_37b1() __pure 000037b1 { 000037b1 return; 000037b1 } 000037b2 cd 5b .[ 000037b4 int32_t sub_37b4() __pure 000037b4 { 000037b4 return; 000037b4 } 000037b5 cd 5c .\ 000037b7 int32_t sub_37b7() __pure 000037b7 { 000037b7 return; 000037b7 } 000037b8 cd 5d .] 000037ba int32_t sub_37ba() __pure 000037ba { 000037ba return; 000037ba } 000037bb cd 5e .^ 000037bd int32_t sub_37bd() __pure 000037bd { 000037bd return; 000037bd } 000037be cd 5f ._ 000037c0 int32_t sub_37c0() __pure 000037c0 { 000037c0 return; 000037c0 } 000037c1 cd 60 .` 000037c3 int32_t sub_37c3() __pure 000037c3 { 000037c3 return; 000037c3 } 000037c4 cd 61 .a 000037c6 int32_t sub_37c6() __pure 000037c6 { 000037c6 return; 000037c6 } 000037c7 cd 62 .b 000037c9 int32_t sub_37c9() __pure 000037c9 { 000037c9 return; 000037c9 } 000037ca cd 63 .c 000037cc int32_t sub_37cc() __pure 000037cc { 000037cc return; 000037cc } 000037cd cd 64 .d 000037cf int32_t sub_37cf() __pure 000037cf { 000037cf return; 000037cf } 000037d0 cd 65 .e 000037d2 int32_t sub_37d2() __pure 000037d2 { 000037d2 return; 000037d2 } 000037d3 cd 66 .f 000037d5 int32_t sub_37d5() __pure 000037d5 { 000037d5 return; 000037d5 } 000037d6 cd 67 .g 000037d8 int32_t sub_37d8() __pure 000037d8 { 000037d8 return; 000037d8 } 000037d9 cd 68 .h 000037db int32_t sub_37db() __pure 000037db { 000037db return; 000037db } 000037dc cd 69 .i 000037de int32_t sub_37de() __pure 000037de { 000037de return; 000037de } 000037df cd . 000037e0 6a j 000037e1 int32_t sub_37e1() __pure 000037e1 { 000037e1 return; 000037e1 } 000037e2 cd 6b .k 000037e4 int32_t sub_37e4() __pure 000037e4 { 000037e4 return; 000037e4 } 000037e5 cd 6c .l 000037e7 int32_t sub_37e7() __pure 000037e7 { 000037e7 return; 000037e7 } 000037e8 cd 6d .m 000037ea int32_t sub_37ea() __pure 000037ea { 000037ea return; 000037ea } 000037eb cd 6e .n 000037ed int32_t sub_37ed() __pure 000037ed { 000037ed return; 000037ed } 000037ee cd 6f .o 000037f0 int32_t sub_37f0() __pure 000037f0 { 000037f0 return; 000037f0 } 000037f1 cd 70 .p 000037f3 int32_t sub_37f3() __pure 000037f3 { 000037f3 return; 000037f3 } 000037f4 cd 71 .q 000037f6 int32_t sub_37f6() __pure 000037f6 { 000037f6 return; 000037f6 } 000037f7 cd 72 .r 000037f9 int32_t sub_37f9() __pure 000037f9 { 000037f9 return; 000037f9 } 000037fa cd 73 .s 000037fc int32_t sub_37fc() __pure 000037fc { 000037fc return; 000037fc } 000037fd cd 74 .t 000037ff int32_t sub_37ff() __pure 000037ff { 000037ff return; 000037ff } 00003800 cd 75 .u 00003802 int32_t sub_3802() __pure 00003802 { 00003802 return; 00003802 } 00003803 cd 76 .v 00003805 int32_t sub_3805() __pure 00003805 { 00003805 return; 00003805 } 00003806 cd 77 .w 00003808 int32_t sub_3808() __pure 00003808 { 00003808 return; 00003808 } 00003809 cd 78 .x 0000380b int32_t sub_380b() __pure 0000380b { 0000380b return; 0000380b } 0000380c cd 79 .y 0000380e int32_t sub_380e() __pure 0000380e { 0000380e return; 0000380e } 0000380f cd 7a .z 00003811 int32_t sub_3811() __pure 00003811 { 00003811 return; 00003811 } 00003812 cd 7b .{ 00003814 int32_t sub_3814() __pure 00003814 { 00003814 return; 00003814 } 00003815 cd 7c .| 00003817 int32_t sub_3817() __pure 00003817 { 00003817 return; 00003817 } 00003818 cd 7d .} 0000381a int32_t sub_381a() __pure 0000381a { 0000381a return; 0000381a } 0000381b cd 7e .~ 0000381d int32_t sub_381d() __pure 0000381d { 0000381d return; 0000381d } 0000381e cd 7f .. 00003820 int32_t sub_3820() __pure 00003820 { 00003820 return; 00003820 } 00003821 int32_t sub_3821() 00003821 { 00003823 return syscall(); 00003821 } 00003824 cd 81 .. 00003826 int32_t sub_3826() __pure 00003826 { 00003826 return; 00003826 } 00003827 cd 82 .. 00003829 int32_t sub_3829() __pure 00003829 { 00003829 return; 00003829 } 0000382a cd 83 .. 0000382c int32_t sub_382c() __pure 0000382c { 0000382c return; 0000382c } 0000382d cd 84 .. 0000382f int32_t sub_382f() __pure 0000382f { 0000382f return; 0000382f } 00003830 cd 85 .. 00003832 int32_t sub_3832() __pure 00003832 { 00003832 return; 00003832 } 00003833 cd 86 .. 00003835 int32_t sub_3835() __pure 00003835 { 00003835 return; 00003835 } 00003836 cd 87 .. 00003838 int32_t sub_3838() __pure 00003838 { 00003838 return; 00003838 } 00003839 cd 88 .. 0000383b int32_t sub_383b() __pure 0000383b { 0000383b return; 0000383b } 0000383c cd 89 .. 0000383e int32_t sub_383e() __pure 0000383e { 0000383e return; 0000383e } 0000383f cd . 00003840 8a . 00003841 int32_t sub_3841() __pure 00003841 { 00003841 return; 00003841 } 00003842 cd 8b .. 00003844 int32_t sub_3844() __pure 00003844 { 00003844 return; 00003844 } 00003845 cd 8c .. 00003847 int32_t sub_3847() __pure 00003847 { 00003847 return; 00003847 } 00003848 cd 8d .. 0000384a int32_t sub_384a() __pure 0000384a { 0000384a return; 0000384a } 0000384b cd 8e .. 0000384d int32_t sub_384d() __pure 0000384d { 0000384d return; 0000384d } 0000384e cd 8f .. 00003850 int32_t sub_3850() __pure 00003850 { 00003850 return; 00003850 } 00003851 cd 90 .. 00003853 int32_t sub_3853() __pure 00003853 { 00003853 return; 00003853 } 00003854 cd 91 .. 00003856 int32_t sub_3856() __pure 00003856 { 00003856 return; 00003856 } 00003857 cd 92 .. 00003859 int32_t sub_3859() __pure 00003859 { 00003859 return; 00003859 } 0000385a cd 93 .. 0000385c int32_t sub_385c() __pure 0000385c { 0000385c return; 0000385c } 0000385d cd 94 .. 0000385f int32_t sub_385f() __pure 0000385f { 0000385f return; 0000385f } 00003860 cd 95 .. 00003862 int32_t sub_3862() __pure 00003862 { 00003862 return; 00003862 } 00003863 cd 96 .. 00003865 int32_t sub_3865() __pure 00003865 { 00003865 return; 00003865 } 00003866 cd 97 .. 00003868 int32_t sub_3868() __pure 00003868 { 00003868 return; 00003868 } 00003869 cd 98 .. 0000386b int32_t sub_386b() __pure 0000386b { 0000386b return; 0000386b } 0000386c cd 99 .. 0000386e int32_t sub_386e() __pure 0000386e { 0000386e return; 0000386e } 0000386f cd 9a .. 00003871 int32_t sub_3871() __pure 00003871 { 00003871 return; 00003871 } 00003872 cd 9b .. 00003874 int32_t sub_3874() __pure 00003874 { 00003874 return; 00003874 } 00003875 cd 9c .. 00003877 int32_t sub_3877() __pure 00003877 { 00003877 return; 00003877 } 00003878 cd 9d .. 0000387a int32_t sub_387a() __pure 0000387a { 0000387a return; 0000387a } 0000387b cd 9e .. 0000387d int32_t sub_387d() __pure 0000387d { 0000387d return; 0000387d } 0000387e cd 9f .. 00003880 int32_t sub_3880() __pure 00003880 { 00003880 return; 00003880 } 00003881 cd a0 .. 00003883 int32_t sub_3883() __pure 00003883 { 00003883 return; 00003883 } 00003884 cd a1 .. 00003886 int32_t sub_3886() __pure 00003886 { 00003886 return; 00003886 } 00003887 cd a2 .. 00003889 int32_t sub_3889() __pure 00003889 { 00003889 return; 00003889 } 0000388a cd a3 .. 0000388c int32_t sub_388c() __pure 0000388c { 0000388c return; 0000388c } 0000388d cd a4 .. 0000388f int32_t sub_388f() __pure 0000388f { 0000388f return; 0000388f } 00003890 cd a5 .. 00003892 int32_t sub_3892() __pure 00003892 { 00003892 return; 00003892 } 00003893 cd a6 .. 00003895 int32_t sub_3895() __pure 00003895 { 00003895 return; 00003895 } 00003896 cd a7 .. 00003898 int32_t sub_3898() __pure 00003898 { 00003898 return; 00003898 } 00003899 cd a8 .. 0000389b int32_t sub_389b() __pure 0000389b { 0000389b return; 0000389b } 0000389c cd a9 .. 0000389e int32_t sub_389e() __pure 0000389e { 0000389e return; 0000389e } 0000389f cd . 000038a0 aa . 000038a1 int32_t sub_38a1() __pure 000038a1 { 000038a1 return; 000038a1 } 000038a2 cd ab .. 000038a4 int32_t sub_38a4() __pure 000038a4 { 000038a4 return; 000038a4 } 000038a5 cd ac .. 000038a7 int32_t sub_38a7() __pure 000038a7 { 000038a7 return; 000038a7 } 000038a8 cd ad .. 000038aa int32_t sub_38aa() __pure 000038aa { 000038aa return; 000038aa } 000038ab cd ae .. 000038ad int32_t sub_38ad() __pure 000038ad { 000038ad return; 000038ad } 000038ae cd af .. 000038b0 int32_t sub_38b0() __pure 000038b0 { 000038b0 return; 000038b0 } 000038b1 cd b0 .. 000038b3 int32_t sub_38b3() __pure 000038b3 { 000038b3 return; 000038b3 } 000038b4 cd b1 .. 000038b6 int32_t sub_38b6() __pure 000038b6 { 000038b6 return; 000038b6 } 000038b7 cd b2 .. 000038b9 int32_t sub_38b9() __pure 000038b9 { 000038b9 return; 000038b9 } 000038ba cd b3 .. 000038bc int32_t sub_38bc() __pure 000038bc { 000038bc return; 000038bc } 000038bd cd b4 .. 000038bf int32_t sub_38bf() __pure 000038bf { 000038bf return; 000038bf } 000038c0 cd b5 .. 000038c2 int32_t sub_38c2() __pure 000038c2 { 000038c2 return; 000038c2 } 000038c3 cd b6 .. 000038c5 int32_t sub_38c5() __pure 000038c5 { 000038c5 return; 000038c5 } 000038c6 cd b7 .. 000038c8 int32_t sub_38c8() __pure 000038c8 { 000038c8 return; 000038c8 } 000038c9 cd b8 .. 000038cb int32_t sub_38cb() __pure 000038cb { 000038cb return; 000038cb } 000038cc cd b9 .. 000038ce int32_t sub_38ce() __pure 000038ce { 000038ce return; 000038ce } 000038cf cd ba .. 000038d1 int32_t sub_38d1() __pure 000038d1 { 000038d1 return; 000038d1 } 000038d2 cd bb .. 000038d4 int32_t sub_38d4() __pure 000038d4 { 000038d4 return; 000038d4 } 000038d5 cd bc .. 000038d7 int32_t sub_38d7() __pure 000038d7 { 000038d7 return; 000038d7 } 000038d8 cd bd .. 000038da int32_t sub_38da() __pure 000038da { 000038da return; 000038da } 000038db cd be .. 000038dd int32_t sub_38dd() __pure 000038dd { 000038dd return; 000038dd } 000038de cd bf .. 000038e0 int32_t sub_38e0() __pure 000038e0 { 000038e0 return; 000038e0 } 000038e1 cd c0 .. 000038e3 int32_t sub_38e3() __pure 000038e3 { 000038e3 return; 000038e3 } 000038e4 cd c1 .. 000038e6 int32_t sub_38e6() __pure 000038e6 { 000038e6 return; 000038e6 } 000038e7 cd c2 .. 000038e9 int32_t sub_38e9() __pure 000038e9 { 000038e9 return; 000038e9 } 000038ea cd c3 .. 000038ec int32_t sub_38ec() __pure 000038ec { 000038ec return; 000038ec } 000038ed cd c4 .. 000038ef int32_t sub_38ef() __pure 000038ef { 000038ef return; 000038ef } 000038f0 cd c5 .. 000038f2 int32_t sub_38f2() __pure 000038f2 { 000038f2 return; 000038f2 } 000038f3 cd c6 .. 000038f5 int32_t sub_38f5() __pure 000038f5 { 000038f5 return; 000038f5 } 000038f6 cd c7 .. 000038f8 int32_t sub_38f8() __pure 000038f8 { 000038f8 return; 000038f8 } 000038f9 cd c8 .. 000038fb int32_t sub_38fb() __pure 000038fb { 000038fb return; 000038fb } 000038fc cd c9 .. 000038fe int32_t sub_38fe() __pure 000038fe { 000038fe return; 000038fe } 000038ff cd . 00003900 ca . 00003901 int32_t sub_3901() __pure 00003901 { 00003901 return; 00003901 } 00003902 cd cb .. 00003904 int32_t sub_3904() __pure 00003904 { 00003904 return; 00003904 } 00003905 cd cc .. 00003907 int32_t sub_3907() __pure 00003907 { 00003907 return; 00003907 } 00003908 cd cd .. 0000390a int32_t sub_390a() __pure 0000390a { 0000390a return; 0000390a } 0000390b cd ce .. 0000390d int32_t sub_390d() __pure 0000390d { 0000390d return; 0000390d } 0000390e cd cf .. 00003910 int32_t sub_3910() __pure 00003910 { 00003910 return; 00003910 } 00003911 cd d0 .. 00003913 int32_t sub_3913() __pure 00003913 { 00003913 return; 00003913 } 00003914 cd d1 .. 00003916 int32_t sub_3916() __pure 00003916 { 00003916 return; 00003916 } 00003917 cd d2 .. 00003919 int32_t sub_3919() __pure 00003919 { 00003919 return; 00003919 } 0000391a cd d3 .. 0000391c int32_t sub_391c() __pure 0000391c { 0000391c return; 0000391c } 0000391d cd d4 .. 0000391f int32_t sub_391f() __pure 0000391f { 0000391f return; 0000391f } 00003920 cd d5 .. 00003922 int32_t sub_3922() __pure 00003922 { 00003922 return; 00003922 } 00003923 cd d6 .. 00003925 int32_t sub_3925() __pure 00003925 { 00003925 return; 00003925 } 00003926 cd d7 .. 00003928 int32_t sub_3928() __pure 00003928 { 00003928 return; 00003928 } 00003929 cd d8 .. 0000392b int32_t sub_392b() __pure 0000392b { 0000392b return; 0000392b } 0000392c cd d9 .. 0000392e int32_t sub_392e() __pure 0000392e { 0000392e return; 0000392e } 0000392f cd da .. 00003931 int32_t sub_3931() __pure 00003931 { 00003931 return; 00003931 } 00003932 cd db .. 00003934 int32_t sub_3934() __pure 00003934 { 00003934 return; 00003934 } 00003935 cd dc .. 00003937 int32_t sub_3937() __pure 00003937 { 00003937 return; 00003937 } 00003938 cd dd .. 0000393a int32_t sub_393a() __pure 0000393a { 0000393a return; 0000393a } 0000393b cd de .. 0000393d int32_t sub_393d() __pure 0000393d { 0000393d return; 0000393d } 0000393e cd df .. 00003940 int32_t sub_3940() __pure 00003940 { 00003940 return; 00003940 } 00003941 cd e0 .. 00003943 int32_t sub_3943() __pure 00003943 { 00003943 return; 00003943 } 00003944 cd e1 .. 00003946 int32_t sub_3946() __pure 00003946 { 00003946 return; 00003946 } 00003947 cd e2 .. 00003949 int32_t sub_3949() __pure 00003949 { 00003949 return; 00003949 } 0000394a cd e3 .. 0000394c int32_t sub_394c() __pure 0000394c { 0000394c return; 0000394c } 0000394d cd e4 .. 0000394f int32_t sub_394f() __pure 0000394f { 0000394f return; 0000394f } 00003950 cd e5 .. 00003952 int32_t sub_3952() __pure 00003952 { 00003952 return; 00003952 } 00003953 cd e6 .. 00003955 int32_t sub_3955() __pure 00003955 { 00003955 return; 00003955 } 00003956 cd e7 .. 00003958 int32_t sub_3958() __pure 00003958 { 00003958 return; 00003958 } 00003959 cd e8 .. 0000395b int32_t sub_395b() __pure 0000395b { 0000395b return; 0000395b } 0000395c cd e9 .. 0000395e int32_t sub_395e() __pure 0000395e { 0000395e return; 0000395e } 0000395f cd . 00003960 ea . 00003961 int32_t sub_3961() __pure 00003961 { 00003961 return; 00003961 } 00003962 cd eb .. 00003964 int32_t sub_3964() __pure 00003964 { 00003964 return; 00003964 } 00003965 cd ec .. 00003967 int32_t sub_3967() __pure 00003967 { 00003967 return; 00003967 } 00003968 cd ed .. 0000396a int32_t sub_396a() __pure 0000396a { 0000396a return; 0000396a } 0000396b cd ee .. 0000396d int32_t sub_396d() __pure 0000396d { 0000396d return; 0000396d } 0000396e cd ef .. 00003970 int32_t sub_3970() __pure 00003970 { 00003970 return; 00003970 } 00003971 cd f0 .. 00003973 int32_t sub_3973() __pure 00003973 { 00003973 return; 00003973 } 00003974 cd f1 .. 00003976 int32_t sub_3976() __pure 00003976 { 00003976 return; 00003976 } 00003977 cd f2 .. 00003979 int32_t sub_3979() __pure 00003979 { 00003979 return; 00003979 } 0000397a cd f3 .. 0000397c int32_t sub_397c() __pure 0000397c { 0000397c return; 0000397c } 0000397d cd f4 .. 0000397f int32_t sub_397f() __pure 0000397f { 0000397f return; 0000397f } 00003980 cd f5 .. 00003982 int32_t sub_3982() __pure 00003982 { 00003982 return; 00003982 } 00003983 cd f6 .. 00003985 int32_t sub_3985() __pure 00003985 { 00003985 return; 00003985 } 00003986 cd f7 .. 00003988 int32_t sub_3988() __pure 00003988 { 00003988 return; 00003988 } 00003989 cd f8 .. 0000398b int32_t sub_398b() __pure 0000398b { 0000398b return; 0000398b } 0000398c cd f9 .. 0000398e int32_t sub_398e() __pure 0000398e { 0000398e return; 0000398e } 0000398f cd fa .. 00003991 int32_t sub_3991() __pure 00003991 { 00003991 return; 00003991 } 00003992 cd fb .. 00003994 int32_t sub_3994() __pure 00003994 { 00003994 return; 00003994 } 00003995 cd fc .. 00003997 int32_t sub_3997() __pure 00003997 { 00003997 return; 00003997 } 00003998 cd fd .. 0000399a int32_t sub_399a() __pure 0000399a { 0000399a return; 0000399a } 0000399b cd fe .. 0000399d int32_t sub_399d() __pure 0000399d { 0000399d return; 0000399d } 0000399e cd ff .. 000039a0 int32_t sub_39a0() __pure 000039a0 { 000039a0 return; 000039a0 } 000039a1 cd 25 73 03 .%s. 000039a5 int32_t sub_39a5() __pure 000039a5 { 000039a7 return; 000039a5 } 000039a8 9d f8 c3 cd 26 73 03 ....&s. 000039af int32_t sub_39af() __pure 000039af { 000039b1 return; 000039af } 000039b2 9d f8 c3 ... 000039b5 void __convention("regparm") sub_39b5(void* arg1, int16_t arg2, char* arg3 @ edi) 000039b5 { 000039ba if (!arg1) 000039ca return; 000039ca 000039bf if (*(uint8_t*)((char*)arg2)[1] & 0xff) 000039bf { 000039c1 *(uint8_t*)arg3 = *(uint8_t*)((char*)arg2)[1]; 000039c8 *(uint32_t*)((char*)arg1 - 0x3d) += arg1; 000039bf } 000039b5 } 000039d2 int32_t __convention("regparm") sub_39d2(int32_t arg1, int32_t* arg2, void* arg3 @ esi) 000039d2 { 000039d2 int32_t ecx; 000039d2 int32_t var_4 = ecx; 000039d3 void* var_8 = arg3; 000039d4 int32_t edi; 000039d4 int32_t var_c = edi; 000039d5 int32_t ebp; 000039d5 int32_t var_10 = ebp; 000039db int32_t* var_38 = arg2; 000039de *(uint8_t*)((char*)arg3 - 0x24) = 0; 000039e2 void* esi = (char*)arg3 - 0x23; 00003a01 int32_t ebx; 00003a01 uint32_t temp1_1; 00003a01 00003a01 do 00003a01 { 000039ea *(uint32_t*)((char*)esi - 2) = ebx; 000039ed int32_t edx = 0; 000039ef int32_t temp2_1 = *(uint32_t*)arg2; 000039ef temp1_1 = COMBINE(edx, arg1) % temp2_1; 000039f1 *(uint32_t*)arg2 = COMBINE(edx, arg1) / temp2_1; 000039fb arg1 = *(uint32_t*)((char*)esi - 2); 000039fe esi += 1; 00003a01 } while (arg1); 00003a01 00003a04 arg1 = *(uint8_t*)(arg1 + (ebx << 2)); 00003a0c *(uint8_t*)(temp1_1 - 0x137625ba); 00003a16 return arg1 + 0x75c08447; 000039d2 } 00003a17 int32_t __convention("regparm") sub_3a17(int32_t arg1, int32_t arg2, void* arg3 @ ebp) 00003a17 { 00003a17 int32_t esi; 00003a17 int32_t var_4 = esi; 00003a21 int32_t ebx; 00003a21 00003a21 if (ebx != 0xa || arg1 >= 0) 00003a29 return 0xf08a39d4(); 00003a29 00003a2d *(uint8_t*)((char*)arg3 + 0x5253f1eb) = 0x89; 00003a35 return -(arg1); 00003a17 } 00003a38 8a 07 84 c0 74 0f 2c 61 ....t.,a 00003a40 3c 19 76 03 43 eb f1 04 41 88 07 eb f7 89 d0 5a 5b c3 <.v.C...A......Z[. 00003a52 int32_t __convention("regparm") sub_3a52(int32_t arg1, int32_t arg2, int32_t arg3, void* arg4 @ esi, long double arg5 @ st0) 00003a52 { 00003a52 void* var_4 = arg4; 00003a5b void* esi = *(uint32_t*)((char*)arg4 + 8); 00003a5e *(uint32_t*)((char*)esi - 4) = esi; 00003a64 *(uint8_t*)((char*)esi - 0x8f) = 0; 00003a68 *(uint32_t*)((char*)esi - 0x49) = (char*)esi - 0x47; 00003a6b void* esi_2 = *(uint32_t*)((char*)esi - 0x3d); 00003a6e int32_t ebx = *(uint32_t*)((char*)esi_2 - 0x4a); 00003a71 *(uint32_t*)((char*)esi_2 - 6) = esi_2; 00003a71 00003a7b if (arg1) 00003a7b { 00003a83 *(uint32_t*)(arg1 + (((char*)esi_2 - 6) << 1)); 00003a86 *(uint32_t*)0x33c28bd8 |= arg3; 00003a8e int32_t eax; 00003a8e eax = ebx ^ 0x93; 00003a93 *(uint32_t*)(arg2 + ((COMBINE(arg1, eax) % *(uint32_t*)(arg3 + (arg1 << 2))) << 2)); 00003a96 *(uint32_t*)(arg3 * 5); 00003a9b *(uint32_t*)0x8bd98bc3 = RORB(*(uint32_t*)0x8bd98bc3, 1); 00003aa1 /* undefined */ 00003a7b } 00003a7b 00003aa7 int32_t edx_4; 00003aa7 00003aa7 if (!ebx) 00003abd edx_4 = arg3; 00003aa7 else 00003aa7 { 00003aa9 edx_4 = ebx; 00003ab1 *(uint32_t*)(edx_4 + (((char*)esi_2 - 6) << 1)); 00003ab4 *(uint32_t*)0x33c28bc8; 00003abc *(uint32_t*)0x33c78bd1 = RORD(*(uint32_t*)0x33c78bd1, 0); 00003aa7 } 00003aa7 00003ac5 *(uint32_t*)(edx_4 + (((char*)esi_2 - 6) << 1)); 00003ac8 trap(0x8b); 00003a52 } 00003aa2 e9 2c 00 .,. 00003ad1 8b 7e fa 89 de 89 5e b6 8a 9d 14 04 8b 7e fe .~....^......~. 00003ae0 ff 46 fe 88 1d 85 c0 75 82 85 f6 74 03 .F.....u...t. 00003af2 75 f9 u. 00003af4 int32_t __convention("fastcall") sub_3af4(void* arg1, int32_t arg2, void* arg3 @ ebp, void* arg4 @ esi) 00003af4 { 00003af4 bool c = false; 00003af4 00003af6 if (arg2) 00003aed /* jump -> 0xc9863a6d */ 00003aed 00003af8 int32_t temp1 = *(uint32_t*)((char*)arg4 - 2); 00003af8 *(uint32_t*)((char*)arg4 - 2) -= 1; 00003af8 bool z = temp1 == 1; 00003afb void* esi = *(uint32_t*)((char*)arg4 - 2); 00003afe int32_t result; 00003afe int32_t ebx; 00003afe result = *(uint8_t*)(ebx + (arg1 << 2)); 00003b01 char temp2_1; 00003b01 00003b01 for (; z || c; z = temp2_1 == 0x75) 00003b01 { 00003aff temp2_1 = result; 00003aff result -= 0x75; 00003aff c = temp2_1 >= 0x75; 00003b01 } 00003b01 00003b03 *(uint32_t*)((char*)esi - 4) += 1; 00003b06 (&__return_addr)[result] = result; 00003b09 *(uint8_t*)((char*)arg3 - 0x14) <<= 0x8b; 00003b0e *(uint8_t*)((char*)arg1 + 0x5e5f5dec) |= arg1; 00003b14 return result; 00003af4 } 00003b17 int32_t __convention("regparm") sub_3b17(int32_t arg1, int32_t arg2, void* arg3 @ esi) 00003b17 { 00003b17 void* var_4 = arg3; 00003b1f void* esi = *(uint32_t*)((char*)arg3 + 8); 00003b22 *(uint32_t*)((char*)esi - 2) = esi; 00003b22 00003b29 if (*(uint32_t*)((char*)esi + 0xa) == 0xa && arg1 < 0) 00003b29 { 00003b63 int32_t eax_1; 00003b63 eax_1 = 0x2d; 00003b65 *(uint32_t*)((char*)esi - 2) = 0x9631ffc6; 00003b29 } 00003b29 00003b3d return 0xf08a3a54(*(uint32_t*)((char*)esi - 2), *(uint32_t*)((char*)esi + 0xa)); 00003b17 } 00003b6a int32_t __convention("regparm") sub_3b6a(uint32_t arg1, uint32_t arg2, void* arg3 @ esi) 00003b6a { 00003b6a void* var_4 = arg3; 00003b6b int32_t edi; 00003b6b int32_t var_8 = edi; 00003b6c int32_t ebp; 00003b6c int32_t var_c = ebp; 00003b72 int32_t* ebx; 00003b72 int32_t* var_34 = ebx; 00003b73 int32_t ecx; 00003b73 int32_t var_38 = ecx; 00003b74 *(uint8_t*)((char*)arg3 - 0x24) = 0; 00003b78 void* esi = (char*)arg3 - 0x23; 00003b80 uint32_t ecx_1; 00003b80 int32_t ebx_3; 00003b80 00003b80 while (true) 00003b80 { 00003b80 *(uint32_t*)((char*)esi - 2) = *(uint32_t*)((char*)esi - 0x28); 00003b86 ecx_1 = 0; 00003b86 00003b8a if (arg2 >= *(uint32_t*)ebx) 00003b8a { 00003b8d int32_t edx_1 = 0; 00003b8f int32_t temp2_1 = *(uint32_t*)ebx; 00003b8f uint32_t temp0_2 = COMBINE(edx_1, arg2) / temp2_1; 00003b8f arg2 = COMBINE(edx_1, arg2) % temp2_1; 00003b91 ecx_1 = temp0_2; 00003b8a } 00003b8a 00003b92 int32_t temp2_2 = *(uint32_t*)ebx; 00003b92 uint32_t temp1_2 = COMBINE(arg2, arg1) % temp2_2; 00003b92 arg1 = COMBINE(arg2, arg1) / temp2_2; 00003b94 *(uint32_t*)ebx = temp1_2; 00003b96 arg2 = ecx_1; 00003b98 *(uint32_t*)((char*)esi - 2); 00003b9b ebx_3 = ebx[0x7220105]; 00003ba1 esi += 1; 00003ba1 00003ba4 if (!arg2) 00003ba4 { 00003ba8 if (!arg1) 00003ba8 break; 00003ba4 } 00003b80 } 00003b80 00003bab arg1 = *(uint8_t*)(arg1 + (ecx_1 << 2)); 00003bb3 *(uint8_t*)(ebx_3 - 0x137625ba); 00003bbc return arg1 + 0x75c08447; 00003b6a } 00003bbd int32_t __convention("regparm") sub_3bbd(int32_t arg1, int32_t arg2, int32_t arg3, char* arg4 @ edi) 00003bbd { 00003bc7 if (arg3 == 0xa && arg2 < 0) 00003bd2 *(uint8_t*)arg4 = 0x2d; 00003bd2 00003bcf return 0xf08a3b6c(); 00003bbd } 00003bdd 53 51 52 SQR 00003be0 56 89 c1 89 c3 b4 3e cd 21 19 d2 31 f6 85 d2 7f 02 75 0e 89 c8 31 d2 e8 ab 00 89 f0 5e 5a 59 5b V.....>.!..1.....u...1......^ZY[ 00003c00 c3 b8 04 00 be ff ff e8 b6 d6 eb e7 53 51 52 89 c3 b8 00 44 cd 21 19 c9 f6 c2 80 74 07 b8 01 00 ............SQR....D.!.....t.... 00003c20 5a 59 5b c3 31 c0 eb f8 ZY[.1... 00003c28 void __convention("regparm") sub_3c28(int32_t* arg1, int32_t arg2, int32_t arg3 @ esi) 00003c28 { 00003c2a if (!arg2) 00003c2c return; 00003c2c 00003c34 int32_t ebx; 00003c34 int32_t var_4 = ebx; 00003c35 int32_t var_8 = arg2; 00003c36 int32_t* ebx_1 = arg1; 00003c38 arg2 = arg1; 00003c3a *(uint8_t*)((char*)arg1)[1] = 0; 00003c3c int32_t eax; 00003c3c char* ecx; 00003c3c char edx; 00003c3c eax = 0xfb8212f7(var_8); 00003c41 char temp0 = *(uint8_t*)ecx; 00003c41 *(uint8_t*)ecx += eax; 00003c41 00003c43 if (temp0 + eax >= temp0) 00003c43 { 00003c7e eax = *(uint8_t*)((char*)ebx_1)[1]; 00003c80 *(uint8_t*)((char*)eax)[1] = 0; 00003c6a (*(uint6_t*)(0xffb912c2() + 0x5b))(); 00003c6a return; 00003c43 } 00003c43 00003c45 *(uint8_t*)arg3; 00003c48 int32_t temp1_1 = *(uint32_t*)ebx_1 | eax; 00003c48 *(uint32_t*)ebx_1 = temp1_1; 00003c48 00003c4a if (temp1_1 < 0) 00003c4a { 00003c77 label_3c77: 00003c77 00003c7a if (edx > 0x13) 00003c5a edx = 0x13; 00003c4a } 00003c4a else if (ebx_1 == 0x50) 00003c51 edx = 0xe; 00003c4f else if (ebx_1 < 0x22) 00003c58 { 00003c71 if (ebx_1 < 0x20) 00003c71 goto label_3c77; 00003c71 00003c73 edx = 5; 00003c58 } 00003c58 else 00003c5a edx = 0x13; 00003c5a 00003c5c ebx_1 = edx; 00003c5e *(uint8_t*)((char*)ebx_1)[1] = 0; 00003c67 int32_t eflags; 00003c67 int32_t eax_1; 00003c67 eax_1 = __salc(eflags); 00003c28 } 00003c2d 85 d2 75 03 31 c0 c3 ..u.1.. 00003c84 52 89 c2 e8 aa ff 89 d0 5a c3 R.......Z. 00003c8e int32_t __convention("regparm") sub_3c8e(int32_t arg1, char* arg2, char arg3, int32_t* arg4 @ esi, int32_t* arg5 @ edi) 00003c8e { 00003c8f bool c = arg1 < *(uint32_t*)arg4; 00003c91 char temp1 = *(uint8_t*)arg2; 00003c91 *(uint8_t*)arg2 = temp1 + arg3; 00003c91 00003c93 if (temp1 + arg3 >= temp1 && (!c || temp1 + arg3 != temp1)) 00003c98 return 0; 00003c98 00003c9b *(uint8_t*)arg2; 00003ca4 return *(uint32_t*)arg5; 00003c8e } 00003ca5 void __convention("regparm") sub_3ca5(int32_t arg1, char* arg2, char arg3, int32_t* arg4 @ esi, char** arg5 @ edi) 00003ca5 { 00003ca6 bool c = arg1 < *(uint32_t*)arg4; 00003ca8 char temp1 = *(uint8_t*)arg2; 00003ca8 *(uint8_t*)arg2 = temp1 + arg3; 00003ca8 00003caa if (temp1 + arg3 >= temp1 && (!c || temp1 + arg3 != temp1)) 00003cad return; 00003cad 00003cb0 *(uint8_t*)arg2; 00003cb6 *(uint32_t*)arg5 = arg2; 00003ca5 } 00003cba void sub_3cba() __noreturn 00003cba { 00003cbd int32_t eax; 00003cbd *(uint8_t*)((char*)eax)[1] = 0x3e; 00003cbf trap(0x21); 00003cba } 00003cd4 int32_t __convention("regparm") sub_3cd4(int32_t arg1, int32_t arg2, int32_t arg3 @ edi) 00003cd4 { 00003cd4 int32_t ecx; 00003cd4 int32_t var_4 = ecx; 00003cd5 int32_t var_8 = arg3; 00003cda int32_t edi_1 = arg1 - 0x3ed6f536; 00003ce0 arg1 = 1; 00003ce4 int32_t var_c = edi_1 + 1; 00003ce5 int16_t ds; 00003ce5 int16_t var_10 = ds; 00003ce7 __builtin_memset(edi_1 + 1, 1, arg2 + 1); 00003cec return arg1; 00003cd4 } 00003ced int32_t __convention("regparm") sub_3ced(int16_t arg1, int32_t arg2 @ edi) 00003ced { 00003ced int32_t ecx; 00003ced int32_t var_4 = ecx; 00003cee int32_t var_8 = arg2; 00003cf9 void* ebx; 00003cf9 *(uint8_t*)((char*)arg1)[1] |= *(uint8_t*)((char*)ebx - 0x3fcff5c4); 00003cff int32_t var_c = 0xc8a30aca; 00003d00 int16_t ds; 00003d00 int16_t var_10 = ds; 00003d02 int32_t ecx_1; 00003d02 int32_t edi; 00003d02 edi = __memfill_u8(0xc8a30aca, arg1, 0xc0310101); 00003d07 return arg1; 00003ced } 00003d08 53 51 52 56 57 3d ff ff 74 43 3d fe ff 74 3e 3d fd ff 75 06 e8 ce ff e9 SQRVW=..tC=..t>=..u..... 00003d20 ae 00 3d fc ff 75 24 e8 c3 ff ba 9f 00 b8 81 00 e8 a1 ff ba fc 00 b8 e0 00 e8 98 ff c7 06 c8 0a ..=..u$......................... 00003d40 01 00 c7 06 3c 0a a4 03 e9 85 00 85 c0 74 06 b8 01 00 e9 7d 00 1e 33 c0 8e d8 b4 63 cd 21 8c df ....<........t.....}..3....c.!.. 00003d60 73 02 33 ff 85 ff 75 02 8b f7 1f 89 f3 89 fa 85 ff 75 04 85 f6 74 59 e8 73 ff 8e c7 26 83 3c 00 s.3...u..........u...tY.s...&.<. 00003d80 74 06 c7 06 c8 0a 01 00 89 d6 8e c6 26 83 3f 00 74 12 26 8a 57 01 26 8a 07 30 f6 30 e4 e8 34 ff t...........&.?.t.&.W.&..0.0..4. 00003da0 43 43 eb e6 1e 55 8b ec 83 ec 08 33 c0 8e d8 b8 01 65 bb ff ff CC...U.....3.....e... 00003db5 void sub_3db5(void* arg1 @ ebp) __noreturn 00003db5 { 00003dba *(uint32_t*)((char*)arg1 + 0x716f87e) -= 1; 00003dc0 trap(0x21); 00003db5 } 00003dd8 73 07 50 e8 56 fe 58 eb s.P.V.X. 00003de0 02 2b c0 c3 00 00 00 00 00 00 00 00 00 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 .+.............................. 00003e00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 00 00 57 45 4c 43 4f 4d 45 20 54 4f 0a 00 0a 20 ..................WELCOME TO... 00003e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 2a 2a 20 57 41 54 45 52 20 54 52 45 41 54 4d 45 *** WATER TREATME 00003e40 4e 54 20 50 4c 41 4e 54 20 4d 41 4e 41 47 45 4d 45 4e 54 20 53 59 53 54 45 4d 20 2a 2a 2a 0a 00 NT PLANT MANAGEMENT SYSTEM ***.. 00003e60 25 73 00 45 6e 74 65 72 20 70 61 73 73 77 6f 72 64 3a 20 00 0a 2a 2a 2a 20 49 6e 63 6f 72 72 65 %s.Enter password: ..*** Incorre 00003e80 63 74 20 70 61 73 73 77 6f 72 64 20 2a 2a 2a 0a 00 0a 0a 2a 2a 2a 20 4d 45 4e 55 20 2a 2a 2a 0a ct password ***....*** MENU ***. 00003ea0 0a 00 31 20 2d 20 44 69 73 70 6c 61 79 20 73 79 73 74 65 6d 20 73 74 61 74 75 73 0a 00 32 20 2d ..1 - Display system status..2 - 00003ec0 20 43 6f 6e 74 72 6f 6c 20 63 6c 61 72 69 66 69 63 61 74 69 6f 6e 20 73 79 73 74 65 6d 0a 00 33 Control clarification system..3 00003ee0 20 2d 20 43 6f 6e 74 72 6f 6c 20 73 61 6e 64 20 66 69 6c 74 72 61 74 69 6f 6e 20 73 79 73 74 65 - Control sand filtration syste 00003f00 6d 0a 00 34 20 2d 20 43 6f 6e 74 72 6f 6c 20 6f 7a 6f 6e 61 74 69 6f 6e 20 74 61 6e 6b 0a 00 35 m..4 - Control ozonation tank..5 00003f20 20 2d 20 43 6f 6e 74 72 6f 6c 20 63 61 72 62 6f 6e 20 66 69 6c 74 72 61 74 69 6f 6e 20 73 79 73 - Control carbon filtration sys 00003f40 74 65 6d 0a 00 36 20 2d 20 41 64 64 20 63 68 6c 6f 72 69 6e 65 20 67 61 73 0a 00 30 20 2d 20 45 tem..6 - Add chlorine gas..0 - E 00003f60 78 69 74 0a 0a 00 53 65 6c 65 63 74 20 61 6e 20 6f 70 74 69 6f 6e 3a 20 00 0a 00 2a 2a 2a 20 44 xit...Select an option: ...*** D 00003f80 41 4e 47 45 52 3a 20 75 73 65 20 63 61 72 65 20 77 68 65 6e 20 61 64 64 69 6e 67 20 63 68 6c 6f ANGER: use care when adding chlo 00003fa0 72 69 6e 65 20 67 61 73 20 69 6e 74 6f 20 74 68 65 20 73 79 73 74 65 6d 20 2a 2a 2a 0a 0a 00 45 rine gas into the system ***...E 00003fc0 6e 74 65 72 20 73 61 66 65 74 79 20 63 6f 64 65 20 28 45 4e 54 45 52 20 74 6f 20 73 75 62 6d 69 nter safety code (ENTER to submi 00003fe0 74 2c 20 45 53 43 20 74 6f 20 63 61 6e 63 65 6c 29 3a 20 0a 00 0a 2a 2a 2a 20 49 6e 63 6f 72 72 t, ESC to cancel): ...*** Incorr 00004000 65 63 74 20 73 61 66 65 74 79 20 63 6f 64 65 20 2a 2a 2a 0a 00 0a 43 6f 64 65 20 69 73 20 63 6f ect safety code ***...Code is co 00004020 72 72 65 63 74 2e 0a 00 0a 2a 2a 2a 20 43 61 6e 27 74 20 61 63 63 65 73 73 20 63 68 6c 6f 72 69 rrect....*** Can't access chlori 00004040 6e 61 74 69 6f 6e 20 73 79 73 74 65 6d 20 2a 2a 2a 0a 00 43 6c 61 72 69 66 69 63 61 74 69 6f 6e nation system ***..Clarification 00004060 20 73 79 73 74 65 6d 20 20 20 20 20 2d 20 4f 46 46 4c 49 4e 45 0a 00 53 61 6e 64 20 66 69 6c 74 system - OFFLINE..Sand filt 00004080 72 61 74 69 6f 6e 20 73 79 73 74 65 6d 20 20 20 2d 20 4f 46 46 4c 49 4e 45 0a 00 4f 7a 6f 6e 61 ration system - OFFLINE..Ozona 000040a0 74 69 6f 6e 20 74 61 6e 6b 20 20 20 20 20 20 20 20 20 20 20 2d 20 4f 46 46 4c 49 4e 45 0a 00 43 tion tank - OFFLINE..C 000040c0 61 72 62 6f 6e 20 66 69 6c 74 72 61 74 69 6f 6e 20 73 79 73 74 65 6d 20 2d 20 4f 46 46 4c 49 4e arbon filtration system - OFFLIN 000040e0 45 0a 00 43 68 6c 6f 72 69 6e 61 74 69 6f 6e 20 73 79 73 74 65 6d 20 20 20 20 20 20 2d 20 4f 46 E..Chlorination system - OF 00004100 46 4c 49 4e 45 0a 00 2a 2a 2a 20 43 61 6e 27 74 20 61 63 63 65 73 73 20 63 6c 61 72 69 66 69 63 FLINE..*** Can't access clarific 00004120 61 74 69 6f 6e 20 73 79 73 74 65 6d 20 2a 2a 2a 0a 00 2a 2a 2a 20 43 61 6e 27 74 20 61 63 63 65 ation system ***..*** Can't acce 00004140 73 73 20 73 61 6e 64 20 66 69 6c 74 72 61 74 69 6f 6e 20 73 79 73 74 65 6d 20 2a 2a 2a 0a 00 2a ss sand filtration system ***..* 00004160 2a 2a 20 43 61 6e 27 74 20 61 63 63 65 73 73 20 6f 7a 6f 6e 61 74 69 6f 6e 20 74 61 6e 6b 20 2a ** Can't access ozonation tank * 00004180 2a 2a 0a 00 2a 2a 2a 20 43 61 6e 27 74 20 61 63 63 65 73 73 20 63 61 72 62 6f 6e 20 66 69 6c 74 **..*** Can't access carbon filt 000041a0 72 61 74 69 6f 6e 20 73 79 73 74 65 6d 20 2a 2a 2a 0a 00 00 4e 6f 74 20 65 6e 6f 75 67 68 20 6d ration system ***...Not enough m 000041c0 65 6d 6f 72 79 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 66 69 6c 65 20 73 74 72 75 63 74 75 72 65 emory to allocate file structure 000041e0 73 00 46 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 73 75 70 70 6f 72 74 20 6e 6f 74 20 6c 6f 61 s.Floating-point support not loa 00004200 64 65 64 00 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 ded.0123456789abcdefghijklmnopqr 00004220 73 74 75 76 77 78 79 7a 00 00 29 2e 43 c9 a2 d8 7c 01 3d 36 54 a1 ec f0 06 13 62 a7 05 f3 c0 c7 stuvwxyz..).C...|.=6T.....b..... 00004240 73 8c 98 93 2b d9 bc 4c 82 ca 1e 9b 57 3c fd d4 e0 16 67 42 6f 18 8a 17 e5 12 be 4e c4 d6 da 9e s...+..L....W<....gBo......N.... 00004260 de 49 a0 fb f5 8e bb 2f ee 7a a9 68 79 91 15 b2 07 3f 94 c2 10 89 0b 22 5f 21 80 7f 5d 9a 5a 90 .I...../.z.hy....?....."_!..].Z. 00004280 32 27 35 3e cc e7 bf f7 97 03 ff 19 30 b3 48 a5 b5 d1 d7 5e 92 2a ac 56 aa c6 4f b8 38 d2 96 a4 2'5>........0.H....^.*.V..O.8... 000042a0 7d b6 76 fc 6b e2 9c 74 04 f1 45 9d 70 59 64 71 87 20 86 5b cf 65 e6 2d a8 02 1b 60 25 ad ae b0 }.v.k..t..E.pYdq. .[.e.-...`%... 000042c0 b9 f6 1c 46 61 69 34 40 7e 0f 55 47 a3 23 dd 51 af 3a c3 5c f9 ce ba c5 ea 26 2c 53 0d 6e 85 28 ...Fai4@~.UG.#.Q.:.\.....&,S.n.( 000042e0 84 09 d3 df cd f4 41 81 4d 52 6a dc 37 c8 6c c1 ab fa 24 e1 7b 08 0c bd b1 4a 78 88 95 8b e3 63 ......A.MRj.7.l...$.{....Jx....c 00004300 e8 6d e9 cb d5 fe 3b .m....; 00004307 int32_t __convention("fastcall") sub_4307(char arg1, int32_t* arg2, void* arg3 @ esi, int32_t arg4 @ edi) 00004307 { 00004307 char ebx; 00004307 *(uint32_t*)0xb7eff239 += ebx; 00004310 int16_t eax; 00004310 int16_t cs; 00004310 *(uint8_t*)((char*)eax)[1] = *(uint8_t*)((char*)cs)[1] << 1; 00004312 void* esi = (char*)arg3 + 1; 00004312 00004313 if (*(uint8_t*)arg3 > *(uint8_t*)arg4) 00004313 { 00004387 eax |= 0xc; 00004389 eax |= 0xc; 0000438b eax |= 0x98; 00004313 } 00004313 00004391 int32_t eax_5 = (int32_t)eax; 00004392 *(uint8_t*)(eax_5 - 0x77777778) = arg1; 00004398 *(uint8_t*)(eax_5 - 0x77777778) = arg1; 0000439e *(uint8_t*)(eax_5 - 0x77777778) = arg1; 000043a4 *(uint8_t*)(eax_5 + 0xc0c0c0c) = arg1; 000043aa *(uint32_t*)eax_5 += eax_5; 000043ac *(uint8_t*)eax_5 += eax_5; 000043ae *(uint8_t*)eax_5 += eax_5; 000043b0 *(uint8_t*)eax_5 += eax_5; 000043b2 *(uint8_t*)eax_5 += eax_5; 000043b4 *(uint8_t*)eax_5 += eax_5; 000043b6 *(uint8_t*)eax_5 += eax_5; 000043b8 *(uint8_t*)eax_5 += eax_5; 000043ba *(uint8_t*)eax_5 += eax_5; 000043bc *(uint8_t*)eax_5 += eax_5; 000043be *(uint8_t*)eax_5 += eax_5; 000043c0 *(uint8_t*)eax_5 += eax_5; 000043c2 *(uint8_t*)eax_5 += eax_5; 000043c4 *(uint8_t*)eax_5 += eax_5; 000043c6 *(uint8_t*)eax_5 += eax_5; 000043c8 *(uint8_t*)eax_5 += eax_5; 000043ca *(uint8_t*)eax_5 += eax_5; 000043cc *(uint8_t*)eax_5 += eax_5; 000043ce *(uint8_t*)eax_5 += eax_5; 000043d0 *(uint8_t*)eax_5 += eax_5; 000043d2 *(uint8_t*)eax_5 += eax_5; 000043d4 *(uint8_t*)eax_5 += eax_5; 000043d6 *(uint8_t*)eax_5 += eax_5; 000043d8 *(uint8_t*)eax_5 += eax_5; 000043da *(uint8_t*)eax_5 += eax_5; 000043dc *(uint8_t*)eax_5 += eax_5; 000043de *(uint8_t*)eax_5 += eax_5; 000043e0 *(uint8_t*)eax_5 += eax_5; 000043e2 *(uint8_t*)eax_5 += eax_5; 000043e4 *(uint8_t*)eax_5 += eax_5; 000043e6 *(uint8_t*)eax_5 += eax_5; 000043e8 *(uint8_t*)eax_5 += eax_5; 000043ea *(uint8_t*)eax_5 += eax_5; 000043ec *(uint8_t*)eax_5 += eax_5; 000043ee *(uint8_t*)eax_5 += eax_5; 000043f0 *(uint8_t*)eax_5 += eax_5; 000043f2 *(uint8_t*)eax_5 += eax_5; 000043f4 *(uint8_t*)eax_5 += eax_5; 000043f6 *(uint8_t*)eax_5 += eax_5; 000043f8 *(uint8_t*)eax_5 += eax_5; 000043fa *(uint8_t*)eax_5 += eax_5; 000043fc *(uint8_t*)eax_5 += eax_5; 000043fe *(uint8_t*)eax_5 += eax_5; 00004400 *(uint8_t*)eax_5 += eax_5; 00004402 *(uint8_t*)eax_5 += eax_5; 00004404 *(uint8_t*)eax_5 += eax_5; 00004406 *(uint8_t*)eax_5 += eax_5; 00004408 *(uint8_t*)eax_5 += eax_5; 0000440a *(uint8_t*)eax_5 += eax_5; 0000440c *(uint8_t*)eax_5 += eax_5; 0000440e *(uint8_t*)eax_5 += eax_5; 00004410 *(uint8_t*)eax_5 += eax_5; 00004412 *(uint8_t*)eax_5 += eax_5; 00004414 *(uint8_t*)eax_5 += eax_5; 00004416 *(uint8_t*)eax_5 += eax_5; 00004418 *(uint8_t*)eax_5 += eax_5; 0000441a *(uint8_t*)eax_5 += eax_5; 0000441c *(uint8_t*)eax_5 += eax_5; 0000441e *(uint8_t*)eax_5 += eax_5; 00004420 *(uint8_t*)eax_5 += eax_5; 00004422 *(uint8_t*)eax_5 += eax_5; 00004424 *(uint8_t*)eax_5 += eax_5; 00004426 *(uint8_t*)eax_5 += eax_5; 00004428 *(uint8_t*)eax_5 += eax_5; 0000442a *(uint8_t*)eax_5 += eax_5; 0000442c *(uint32_t*)arg2 += eax_5; 0000442e char temp0 = eax_5; 0000442e eax_5 += 8; 0000442e bool c = temp0 >= 0xf8; 00004430 char temp1 = *(uint8_t*)eax_5; 00004430 *(uint8_t*)eax_5 = temp1 + *(uint8_t*)((char*)eax_5)[1]; 00004433 *(uint8_t*)((char*)esi - 0x6e72dbba) = *(uint8_t*)((char*)esi - 0x6e72dbba) + 3; 0000443a /* undefined */ 00004307 } 00004318 int32_t __convention("regparm") sub_4318(int32_t arg1, int16_t arg2, char* arg3, int16_t arg4) 00004318 { 00004319 *(uint8_t*)arg3; 00004319 *(uint8_t*)((char*)arg2)[1] |= *(uint8_t*)arg3; 0000431c int32_t var_3 = arg1; 0000431d *(uint8_t*)((char*)arg1)[1] = 0x8f; 0000431f int32_t eflags; 0000431f int32_t eax = __in_oeax_dx(arg2, eflags); 00004321 int32_t ebx; 00004321 char temp2 = (ebx - 1); 00004321 char temp3 = (ebx - 1); 00004321 int32_t* ebx_1; 00004321 ebx_1 = temp2 - temp3; 00004321 bool c = /* bool c = unimplemented {sbb bl, bl} */; 00004321 bool p = /* bool p = unimplemented {sbb bl, bl} */; 00004321 bool a = /* bool a = unimplemented {sbb bl, bl} */; 00004323 int32_t eax_1; 00004323 void** edx; 00004323 edx = HIGHD((int64_t)eax); 00004323 eax_1 = LOWD((int64_t)eax); 00004326 *(uint8_t*)((char*)eax_1)[1] = (temp2 - temp3 < 0 ? 1 : 0) << 7 | (!(temp2 - temp3) ? 1 : 0) << 6 | (a ? 1 : 0) << 4 | (p ? 1 : 0) << 2 | (c ? 1 : 0); 00004327 ebx_1[0x404005] = ebx_1[0x404005] + eax_1; 0000432d *(uint32_t*)arg3 += eax_1; 0000432f *(uint32_t*)arg3 += eax_1; 00004331 *(uint32_t*)arg3 += eax_1; 00004333 *(uint32_t*)ebx_1 += eax_1; 00004337 int32_t eax_3 = *(uint32_t*)ebx_1 * 2 + eax_1; 00004339 *(uint32_t*)arg3 += eax_3; 0000433b *(uint32_t*)arg3 += eax_3; 0000433d *(uint32_t*)arg3 += eax_3; 0000433f *(uint32_t*)arg3 += eax_3; 00004341 *(uint32_t*)arg3 += eax_3; 00004343 *(uint32_t*)arg3 += eax_3; 00004345 *(uint32_t*)arg3 += eax_3; 00004347 *(uint32_t*)arg3 += eax_3; 00004349 *(uint32_t*)arg3 += eax_3; 0000434b arg3 |= *(uint8_t*)(&*(uint32_t*)((char*)var_3)[2] + arg3); 0000434e eax_3 |= 0xc; 00004350 eax_3 |= 0xc; 00004352 eax_3 |= 0xc; 00004354 eax_3 |= 0xc; 00004356 eax_3 |= 0xc; 00004358 eax_3 |= 0xc; 0000435a eax_3 |= 0x38; 0000435c *(uint8_t*)eax_3; 0000435e *(uint8_t*)eax_3; 00004360 *(uint8_t*)eax_3; 00004362 *(uint8_t*)eax_3; 00004364 *(uint8_t*)(&*(uint32_t*)((char*)var_3)[2] + arg3); 00004386 int16_t eax_24; 00004386 eax_24 = (arg4 - 0x14) | 0xc; 00004388 eax_24 |= 0xc; 0000438a eax_24 |= 0xc; 00004391 char* eax_30 = (int32_t)eax_24; 00004392 eax_30[0x88888888] = arg3; 00004398 eax_30[0x88888888] = arg3; 0000439e eax_30[0x88888888] = arg3; 000043a4 eax_30[0xc0c0c0c] = arg3; 000043aa *(uint32_t*)eax_30 = &eax_30[*(uint32_t*)eax_30]; 000043ac *(uint8_t*)eax_30 += eax_30; 000043ae *(uint8_t*)eax_30 += eax_30; 000043b0 *(uint8_t*)eax_30 += eax_30; 000043b2 *(uint8_t*)eax_30 += eax_30; 000043b4 *(uint8_t*)eax_30 += eax_30; 000043b6 *(uint8_t*)eax_30 += eax_30; 000043b8 *(uint8_t*)eax_30 += eax_30; 000043ba *(uint8_t*)eax_30 += eax_30; 000043bc *(uint8_t*)eax_30 += eax_30; 000043be *(uint8_t*)eax_30 += eax_30; 000043c0 *(uint8_t*)eax_30 += eax_30; 000043c2 *(uint8_t*)eax_30 += eax_30; 000043c4 *(uint8_t*)eax_30 += eax_30; 000043c6 *(uint8_t*)eax_30 += eax_30; 000043c8 *(uint8_t*)eax_30 += eax_30; 000043ca *(uint8_t*)eax_30 += eax_30; 000043cc *(uint8_t*)eax_30 += eax_30; 000043ce *(uint8_t*)eax_30 += eax_30; 000043d0 *(uint8_t*)eax_30 += eax_30; 000043d2 *(uint8_t*)eax_30 += eax_30; 000043d4 *(uint8_t*)eax_30 += eax_30; 000043d6 *(uint8_t*)eax_30 += eax_30; 000043d8 *(uint8_t*)eax_30 += eax_30; 000043da *(uint8_t*)eax_30 += eax_30; 000043dc *(uint8_t*)eax_30 += eax_30; 000043de *(uint8_t*)eax_30 += eax_30; 000043e0 *(uint8_t*)eax_30 += eax_30; 000043e2 *(uint8_t*)eax_30 += eax_30; 000043e4 *(uint8_t*)eax_30 += eax_30; 000043e6 *(uint8_t*)eax_30 += eax_30; 000043e8 *(uint8_t*)eax_30 += eax_30; 000043ea *(uint8_t*)eax_30 += eax_30; 000043ec *(uint8_t*)eax_30 += eax_30; 000043ee *(uint8_t*)eax_30 += eax_30; 000043f0 *(uint8_t*)eax_30 += eax_30; 000043f2 *(uint8_t*)eax_30 += eax_30; 000043f4 *(uint8_t*)eax_30 += eax_30; 000043f6 *(uint8_t*)eax_30 += eax_30; 000043f8 *(uint8_t*)eax_30 += eax_30; 000043fa *(uint8_t*)eax_30 += eax_30; 000043fc *(uint8_t*)eax_30 += eax_30; 000043fe *(uint8_t*)eax_30 += eax_30; 00004400 *(uint8_t*)eax_30 += eax_30; 00004402 *(uint8_t*)eax_30 += eax_30; 00004404 *(uint8_t*)eax_30 += eax_30; 00004406 *(uint8_t*)eax_30 += eax_30; 00004408 *(uint8_t*)eax_30 += eax_30; 0000440a *(uint8_t*)eax_30 += eax_30; 0000440c *(uint8_t*)eax_30 += eax_30; 0000440e *(uint8_t*)eax_30 += eax_30; 00004410 *(uint8_t*)eax_30 += eax_30; 00004412 *(uint8_t*)eax_30 += eax_30; 00004414 *(uint8_t*)eax_30 += eax_30; 00004416 *(uint8_t*)eax_30 += eax_30; 00004418 *(uint8_t*)eax_30 += eax_30; 0000441a *(uint8_t*)eax_30 += eax_30; 0000441c *(uint8_t*)eax_30 += eax_30; 0000441e *(uint8_t*)eax_30 += eax_30; 00004420 *(uint8_t*)eax_30 += eax_30; 00004422 *(uint8_t*)eax_30 += eax_30; 00004424 *(uint8_t*)eax_30 += eax_30; 00004426 *(uint8_t*)eax_30 += eax_30; 00004428 *(uint8_t*)eax_30 += eax_30; 0000442a *(uint8_t*)eax_30 += eax_30; 0000442c *(uint32_t*)edx += eax_30; 0000442e char temp4 = eax_30; 0000442e eax_30 += 8; 0000442e bool c_1 = temp4 >= 0xf8; 00004430 char temp5 = *(uint8_t*)eax_30; 00004430 *(uint8_t*)eax_30 = temp5 + *(uint8_t*)((char*)eax_30)[1]; 00004433 *(uint8_t*)((char*)ebx_1 - 0x6e72dbba) = *(uint8_t*)((char*)ebx_1 - 0x6e72dbba) + 3; 0000443a /* undefined */ 00004318 } 0000443b ec b3 f4 ba 7c ....| 00004440 aa e3 8b 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00004460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00004480 00 00 00 00 01 20 01 5f 03 20 01 5f 0f 20 01 5f 18 20 04 5f 04 20 03 5f 04 20 03 5f 04 20 03 5f ..... ._. ._. ._. ._. ._. ._. ._ 000044a0 02 20 01 0a 01 7c 01 20 01 5c 01 20 01 7c 01 20 01 7c 02 20 03 5f 02 20 01 5f 01 20 02 5f 02 20 . ...|. .\. .|. .|. ._. ._. ._. 000044c0 01 7c 01 20 01 7c 01 5f 02 20 01 5f 03 20 01 5f 02 20 01 5f 01 20 02 5f 04 20 03 5f 01 20 01 7c .|. .|._. ._. ._. ._. ._. ._. .| 000044e0 03 5f 01 20 01 5c 02 20 01 2f 01 20 01 5f 01 20 01 5c 02 20 01 2f 01 20 01 5f 01 20 01 5c 02 20 ._. .\. ./. ._. .\. ./. ._. .\. 00004500 01 2f 01 20 01 5f 01 20 01 5c 01 20 01 0a 01 7c 02 20 01 5c 01 7c 01 20 01 7c 01 20 01 2f 01 20 ./. ._. .\. ...|. .\.|. .|. ./. 00004520 01 5f 01 20 01 5c 01 7c 01 20 01 27 01 5f 01 20 01 5c 01 20 01 7c 01 20 02 5f 02 7c 01 20 01 7c ._. .\.|. .'._. .\. .|. ._.|. .| 00004540 01 20 01 7c 01 20 02 7c 01 20 01 27 01 5f 01 20 01 5c 02 20 01 2f 01 20 01 5f 01 20 01 5c 02 20 . .|. .|. .'._. .\. ./. ._. .\. 00004560 02 5f 01 29 01 20 02 7c 01 20 01 7c 01 20 01 7c 01 20 02 7c 01 20 01 7c 01 20 01 7c 01 20 02 7c ._.). .|. .|. .|. .|. .|. .|. .| 00004580 01 20 01 7c 01 20 01 7c 01 20 01 7c 01 0a 01 7c 01 20 01 7c 01 5c 02 20 02 7c 02 20 02 5f 01 2f . .|. .|. .|...|. .|.\. .|. ._./ 000045a0 01 7c 01 20 01 7c 01 5f 01 29 01 20 02 7c 01 20 01 7c 01 5f 01 20 01 7c 01 20 01 7c 01 5f 01 7c .|. .|._.). .|. .|._. .|. .|._.| 000045c0 01 20 02 7c 01 20 01 7c 01 20 01 7c 01 20 02 7c 02 20 02 5f 01 2f 01 20 01 2f 01 20 02 5f 01 2f . .|. .|. .|. .|. ._./. ./. ._./ 000045e0 01 20 01 7c 01 20 01 7c 01 5f 01 7c 01 20 02 7c 01 20 01 7c 01 5f 01 7c 01 20 02 7c 01 20 01 7c . .|. .|._.|. .|. .|._.|. .|. .| 00004600 01 5f 01 7c 01 20 01 7c 01 0a 01 7c 01 5f 01 7c 01 20 01 5c 01 5f 01 7c 01 20 01 5c 03 5f 02 7c ._.|. .|...|._.|. .\._.|. .\._.| 00004620 01 20 01 2e 02 5f 01 2f 02 20 01 5c 02 5f 01 7c 01 20 01 5c 02 5f 01 2c 01 5f 02 7c 01 5f 01 7c . ..._./. .\._.|. .\._.,._.|._.| 00004640 01 20 01 7c 01 5f 01 7c 01 20 01 5c 03 5f 02 7c 05 5f 01 7c 01 20 01 5c 03 5f 01 2f 02 20 01 5c . .|._.|. .\._.|._.|. .\._./. .\ 00004660 03 5f 01 2f 02 20 01 5c 03 5f 01 2f 01 20 01 0a 0d 20 01 7c 01 5f 01 7c 39 20 01 0a 1e 01 10 00 ._./. .\._./. ... .|._.|9 ...... 00004680 16 00 03 01 1f 01 23 00 0b 00 2e 00 25 01 02 01 00 00 00 00 00 00 00 00 c2 04 c2 04 00 00 00 00 ......#.....%................... 000046a0 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 01 00 00 00 00 00 00 00 00 00 00 00 02 00 ................................ 000046c0 02 00 00 00 00 00 00 00 00 00 00 00 03 00 03 00 00 00 00 00 00 00 00 00 00 00 02 00 04 00 00 00 ................................ 000046e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00004700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00004720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00004740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00004760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00004780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000047a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 0c 00 00 ................................ 000047c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000047e0 00 00 00 00 10 00 01 00 29 34 29 34 00 09 01 01 0b 06 04 05 05 05 02 03 ff 0e 07 24 06 08 01 ff ........)4)4...............$.... 00004800 14 00 01 00 02 00 02 00 03 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00004820 00 00 00 00 00 00 00 00 00 00 12 0a 00 00 00 20 d2 03 00 00 00 20 6c 10 00 00 00 01 07 23 00 00 ............... ..... l......#.. 00004840 00 20 bb 32 00 00 00 20 33 11 00 00 00 01 9d 24 00 00 . .2... 3......$.. .synthetic_builtins section started {0x4860-0x4874} 00004860 extern void* __builtin_memcpy(void* dest, void const* src, uint32_t n) 00004864 extern void* __builtin_memset(void* s, int32_t c, uint32_t n) 00004868 extern char* __builtin_strcpy(char* dest, char const* src) 0000486c extern char* __builtin_strncpy(char* dest, char const* src, uint32_t n) 00004870 extern wchar32* __builtin_wcscpy(wchar32* dest, wchar32 const* src) .synthetic_builtins section ended {0x4860-0x4874}