Function at 0x4029f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x218
push ebx
push ebp
push esi
lea eax, [esp + 0xe4]
push edi
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
fild dword [esp + 0xe8]
mov edx, dword [0x4a15ec]
mov ecx, dword [esp + 0xe8]
fadd qword [0x4290c0]
lea eax, [edx*8 + 0x10]
cmp ecx, eax
fisub dword [0x49d288]
mov dword [0x49d288], ecx
fmul qword [0x419338]
fstp qword [0x4290c0]
jge 0x402a5a
mov ecx, dword [esp + 0xec]
mov dword [0x49d288], eax
push ecx
jmp 0x402a75
mov eax, 0x3e
sub eax, edx
shl eax, 3
cmp ecx, eax
jle 0x402a7c
mov edx, dword [esp + 0xec]
mov dword [0x49d288], eax
push edx
push eax
call dword [sym.imp.USER32.dll_SetCursorPos]
mov eax, dword [0x4290d0]
fld qword [0x49d290]
test eax, eax
je 0x402ace
fcomp qword [0x419330]
mov dword [0x4290c8], 0
fnstsw ax
test ah, 1
je 0x402aae
mov dword [0x4290cc], 0x40000000
jmp 0x402b0f
mov dword [0x4290cc], 0
mov dword [0x49d290], 0
mov dword [0x49d294], 0x407d8000
jmp 0x402b0f
fcomp qword [0x419328]
mov dword [0x4290c8], 0
fnstsw ax
test ah, 0x41
jne 0x402af1
mov dword [0x4290cc], 0xc0000000
jmp 0x402b0f
mov dword [0x4290cc], 0
mov dword [0x49d290], 0
mov dword [0x49d294], 0x407b8000
fld qword [0x4290c8]
fmul qword [0x419270]
xor ebp, ebp
fdiv qword [0x49d278]
fadd qword [0x49d290]
fstp qword [0x49d290]
mov eax, dword [0x498444]
mov dword [esp + 0xbc], ebp
cmp ebp, eax
jge 0x40462b
lea edi, [ebp + ebp*4]
shl edi, 3
mov dword [esp + 0x44], edi
fld qword [0x498438]
fmul qword [0x419270]
mov eax, dword [edi + 0x498448]
mov ecx, dword [edi + 0x49844c]
mov edx, dword [edi + 0x498450]
mov ebx, dword [0x41ce58]
fdiv qword [0x49d278]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x498454]
mov dword [esp + 0x14], ecx
mov ecx, dword [edi + 0x498458]
mov dword [esp + 0x18], edx
mov edx, dword [edi + 0x49845c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x190], edx
mov dword [esp + 0x194], eax
mov esi, 0x429268
fadd qword [edi + 0x498460]
fstp qword [esp + 0x38]
mov eax, dword [esi - 0x18c]
cmp eax, 0xa
je 0x402bf5
cmp eax, 0xb
jne 0x402d52
cmp dword [esi - 0x190], 2
jne 0x402d52
fld qword [esi]
fadd qword [0x419248]
mov eax, dword [edi + 0x498450]
mov dword [esp + 0x158], eax
fstp qword [esp + 0x28]
fld qword [esi - 0x100]
fadd qword [0x419250]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xf0], ecx
mov ecx, dword [edi + 0x498454]
mov dword [esp + 0xf4], edx
mov dword [esp + 0x15c], ecx
fstp qword [esp + 0x50]
fld qword [esp + 0x28]
fsub qword [edi + 0x498450]
fld qword [esp + 0x50]
fsub qword [edi + 0x498448]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
mov ecx, dword [edi + 0x498448]
mov dword [esp + 0x160], edx
mov edx, dword [edi + 0x49844c]
mov dword [esp + 0x164], eax
faddp st(1)
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], edx
fdivr qword [0x419320]
fmul qword [0x419270]
fdiv qword [0x49d278]
fstp qword [esp + 0x70]
fstp st(0)
fstp st(0)
fld qword [esp + 0x160]
fsub qword [esp + 0x168]
fld qword [edi + 0x498450]
fsub qword [esp + 0x28]
fld qword [0x4192a0]
call fcn.004102c0
fld qword [esp + 0x168]
fsub qword [esp + 0x160]
fld qword [0x4192a0]
call fcn.004102c0
faddp st(1)
fsqrt
fdivp st(1)
fmul qword [esp + 0x70]
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
fld qword [esp + 0xf0]
fsub qword [esp + 0x158]
fld qword [edi + 0x498448]
fsub qword [esp + 0x50]
fld qword [0x4192a0]
call fcn.004102c0
fld qword [esp + 0x158]
fsub qword [esp + 0xf0]
fld qword [0x4192a0]
call fcn.004102c0
faddp st(1)
fsqrt
fdivp st(1)
fmul qword [esp + 0x70]
fadd qword [esp + 0x38]
fstp qword [esp + 0x38]
add esi, 0x490
cmp esi, 0x4985c8
jl 0x402be1
fld qword [esp + 0x20]
fmul qword [0x419270]
mov eax, dword [0x41ce58]
mov ecx, dword [edi + 0x498468]
cmp ecx, eax
fdiv qword [0x49d278]
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x38]
fmul qword [0x419270]
fdiv qword [0x49d278]
fadd qword [esp + 0x18]
fstp qword [esp + 0x18]
je 0x403171
mov ecx, dword [0x4a15ec]
mov edx, dword [0x49d288]
shl ecx, 3
mov eax, edx
sub eax, ecx
sub eax, ebx
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x402e20
add ecx, edx
add ecx, ebx
mov dword [esp + 0x48], ecx
fild dword [esp + 0x48]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x402e20
fld qword [0x49d290]
fsub qword [0x419318]
fisub dword [esp + 0x4c]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x402e20
fld qword [0x49d290]
fadd qword [0x419258]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x403158
mov ebx, dword [esp + 0x4c]
add ebx, 0x10
mov dword [esp + 0x48], ebx
fild dword [esp + 0x48]
fstp qword [esp + 0x70]
fld qword [esp + 0x10]
fcomp qword [esp + 0x70]
fnstsw ax
test ah, 1
jne 0x403158
mov ecx, dword [esp + 0x4c]
neg ecx
lea edx, [ecx + 0x1f0]
mov dword [esp + 0x48], edx
fild dword [esp + 0x48]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 1
jne 0x403158
fld qword [esp + 0x18]
fcomp qword [esp + 0x70]
fnstsw ax
test ah, 1
jne 0x403158
add ecx, 0x1e0
mov dword [esp + 0x48], ecx
fild dword [esp + 0x48]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 1
jne 0x403158
fld qword [esp + 0x10]
fsub qword [0x419258]
fmul qword [0x419310]
call fcn.0041028c
fld qword [esp + 0x18]
fsub qword [0x419258]
xor ebx, ebx
mov ebp, eax
mov dword [esp + 0x6c], ebx
fmul qword [0x419308]
call fcn.0041028c
lea ecx, [ebp + ebp*8]
mov edi, eax
shl edi, 4
lea ecx, [ebp + ecx*8]
sub edi, eax
shl ecx, 4
mov dword [esp + 0x9c], ecx
mov ecx, eax
neg ecx
shl ecx, 3
sub ecx, eax
shl ecx, 3
sub ecx, eax
neg edi
lea ecx, [ecx + ecx*2]
lea eax, [ecx + ecx*4]
shl eax, 4
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
sub eax, edi
xor esi, esi
sub eax, ebp
sub eax, 0x10
mov ecx, eax
mov eax, ebx
sub eax, edx
mov edx, dword [esp + 0x9c]
sub eax, edx
lea edx, [eax + 0x424868]
test ecx, ecx
jl 0x4030cd
cmp ecx, 0x185
jg 0x4030cd
cmp dword [edx - 0x90], 2
jne 0x4030cd
fld qword [edx]
fadd qword [0x419250]
fstp qword [esp + 0x78]
fld qword [edx + 0x100]
fadd qword [0x419248]
fld qword [esp + 0x78]
fsub qword [0x419258]
fst qword [esp + 0x88]
fild dword [esp + 0x4c]
fstp qword [esp + 0x60]
fld st(0)
fsub qword [esp + 0x60]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x402fc9
fld qword [esp + 0x60]
fadd qword [esp + 0x78]
fadd qword [0x419258]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x402fc9
fld st(1)
fsub qword [0x419318]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x402fc9
fld st(1)
fadd qword [0x419318]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x403154
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x40301b
fld qword [esp + 0x78]
fadd qword [0x419258]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x40301b
fld st(0)
fsub qword [0x419318]
fsub qword [esp + 0x60]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x40301b
fld qword [esp + 0x60]
fadd st(1)
fadd qword [0x419318]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x403156
fld st(0)
fsub qword [0x419318]
mov eax, dword [esp + 0x4c]
imul eax, eax
fsub qword [esp + 0x18]
fld st(0)
fmulp st(1)
fld qword [esp + 0x88]
fsub qword [esp + 0x10]
mov dword [esp + 0x30], eax
fld st(0)
fmul st(1)
fstp qword [esp + 0x28]
fstp st(0)
fild dword [esp + 0x30]
fstp qword [esp + 0x30]
fld qword [esp + 0x28]
fadd st(1)
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
jne 0x403154
fld qword [esp + 0x78]
fadd qword [0x419258]
fsub qword [esp + 0x10]
fld st(0)
fmul st(1)
fstp qword [esp + 0x50]
fstp st(0)
fld qword [esp + 0x50]
fadd st(1)
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
fstp st(0)
jne 0x403156
fadd qword [0x419318]
fsub qword [esp + 0x18]
fld st(0)
fmulp st(1)
fld st(0)
fadd qword [esp + 0x50]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
jne 0x403156
fadd qword [esp + 0x28]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
jne 0x403158
inc esi
add edx, 0x490
inc ecx
cmp esi, 3
jl 0x402f23
mov edx, dword [esp + 0x6c]
add ebx, 0x4470
add edx, 0xf
cmp ebx, 0xcd50
mov dword [esp + 0x6c], edx
jl 0x402efd
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 0x498468]
mov ecx, dword [0x41ce58]
cmp ecx, eax
jle 0x403130
push 8
call fcn.0040df10
push 0
push 8
call fcn.0040de80
mov edx, dword [esp + 0x44]
mov eax, dword [0x41ce58]
mov dword [edx + 0x498468], eax
jmp 0x403158
jge 0x403158
push 9
call fcn.0040df10
push 0
push 9
call fcn.0040de80
mov ecx, dword [esp + 0x44]
mov edx, dword [0x41ce58]
mov dword [ecx + 0x498468], edx
jmp 0x403158
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x44]
mov ebp, dword [esp + 0xbc]
mov edi, eax
mov ecx, dword [eax + 0x498468]
mov dword [esp + 0x4c], ecx
mov ebx, ecx
mov edx, dword [0x4a15ec]
lea ecx, [edx*8]
mov edx, dword [0x49d288]
mov eax, edx
sub eax, ecx
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x4032ff
add ecx, edx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x4032ff
fild dword [esp + 0x4c]
fstp qword [esp + 0x60]
fld qword [0x49d290]
fsub qword [0x419318]
fsub qword [esp + 0x60]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x4032ff
fld qword [0x49d290]
fadd qword [0x419258]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 0x41
jne 0x4032ff
push 3
call fcn.0040df10
push 0
push 3
call fcn.0040de80
fld qword [0x4290c0]
fmul qword [0x419300]
fld st(0)
fsin
fstp qword [esp + 0x70]
fcos
fld qword [esp + 0x20]
fld qword [0x4290c8]
fsub qword [esp + 0x38]
fld st(2)
fmul qword [esp + 0x20]
fld st(1)
fmul qword [esp + 0x70]
fsubp st(1)
fstp qword [esp + 0x20]
fmul st(2)
fxch st(1)
fmul qword [esp + 0x70]
faddp st(1)
fstp qword [esp + 0x38]
fstp st(0)
fld qword [esp + 0x38]
fcomp qword [0x4192f8]
fnstsw ax
test ah, 0x41
jne 0x403286
fld qword [0x498438]
fcomp qword [0x419238]
fnstsw ax
test ah, 0x41
jne 0x403286
mov dword [esp + 0x38], 0x9999999a
mov dword [esp + 0x3c], 0xc00d9999
jmp 0x4032a7
fld qword [esp + 0x38]
fcomp qword [0x4192f0]
fnstsw ax
test ah, 1
je 0x4032a7
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xc01a0000
fld qword [esp + 0x20]
fcomp qword [0x4192e8]
fnstsw ax
test ah, 0x41
jne 0x4032ca
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0x40100000
jmp 0x4032eb
fld qword [esp + 0x20]
fcomp qword [0x4192e0]
fnstsw ax
test ah, 1
je 0x4032eb
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xc0100000
fld qword [0x49d290]
fsub qword [0x419318]
fsub qword [esp + 0x60]
fstp qword [esp + 0x18]
lea ecx, [ebx + 0x10]
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
fld qword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x403342
fld qword [esp + 0x20]
fmul qword [str.ffffff]
fstp qword [esp + 0x20]
fld qword [esp + 0x10]
fsub st(1)
fmul qword [esp + 0x20]
fld qword [esp + 0x10]
fsub qword [esp + 0x178]
fdivp st(1)
fadd st(1)
fstp qword [esp + 0x10]
mov ecx, ebx
neg ecx
lea edx, [ecx + 0x1f0]
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fcom qword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x40338a
fld qword [esp + 0x20]
fmul qword [str.ffffff]
fstp qword [esp + 0x20]
fld qword [esp + 0x10]
fsub st(1)
fmul qword [esp + 0x20]
fld qword [esp + 0x10]
fsub qword [esp + 0x178]
fdivp st(1)
fadd st(1)
fstp qword [esp + 0x10]
fstp st(0)
fld qword [esp + 0x18]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x4033c4
fld qword [esp + 0x38]
fmul qword [str.ffffff]
fstp qword [esp + 0x38]
fld qword [esp + 0x18]
fsub st(1)
fmul qword [esp + 0x38]
fld qword [esp + 0x18]
fsub qword [esp + 0x190]
fdivp st(1)
fadd st(1)
fstp qword [esp + 0x18]
add ecx, 0x1e0
fstp st(0)
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x403444
mov eax, dword [0x498444]
lea edx, [eax - 1]
cmp ebp, edx
jge 0x403430
mov ecx, edx
lea eax, [edi + 0x498448]
sub ecx, ebp
mov esi, dword [eax + 0x28]
mov dword [eax], esi
mov esi, dword [eax + 0x2c]
mov dword [eax + 4], esi
mov esi, dword [eax + 0x30]
mov dword [eax + 8], esi
mov esi, dword [eax + 0x34]
mov dword [eax + 0xc], esi
mov esi, dword [eax + 0x38]
mov dword [eax + 0x10], esi
mov esi, dword [eax + 0x3c]
mov dword [eax + 0x14], esi
mov esi, dword [eax + 0x40]
mov dword [eax + 0x18], esi
mov esi, dword [eax + 0x44]
mov dword [eax + 0x1c], esi
mov esi, dword [eax + 0x48]
mov dword [eax + 0x20], esi
add eax, 0x28
dec ecx
jne 0x4033f5
mov dword [0x498444], edx
dec edx
cmp edx, ebp
jl 0x40462b
jmp 0x402b4e
xor eax, eax
xor edi, edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edi
cmp edi, 3
jge 0x40457a
xor esi, esi
mov dword [esp + 0x9c], esi
cmp esi, 3
jge 0x40456c
fld qword [esp + 0x18]
fsub qword [0x419258]
fmul qword [0x4192d0]
call fcn.0041028c
fld qword [esp + 0x10]
fsub qword [0x419258]
mov ecx, edi
sub ecx, eax
fmul qword [0x419310]
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*4]
mov edi, ecx
call fcn.0041028c
sub edi, eax
lea eax, [edi + esi - 0x10]
test eax, eax
mov dword [esp + 0x6c], eax
jl case.default.0x4042fc
cmp eax, 0x185
jg case.default.0x4042fc
mov ebp, eax
lea edx, [ebp + ebp*8]
lea ebp, [ebp + edx*8]
shl ebp, 4
cmp dword [ebp + 0x4290d8], 2
jne case.default.0x4042fc
fld qword [ebp + 0x429168]
fadd qword [0x419250]
fstp qword [esp + 0x78]
fld qword [ebp + 0x429268]
fadd qword [0x419248]
fstp qword [esp + 0x90]
fld qword [esp + 0x78]
fsub qword [0x419258]
fstp qword [esp + 0x88]
fild dword [esp + 0x4c]
fstp qword [esp + 0x60]
fld qword [esp + 0x88]
fsub qword [esp + 0x60]
fst qword [esp + 0xc0]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x403585
fld qword [esp + 0x60]
fadd qword [esp + 0x78]
fadd qword [0x419258]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x403585
fld qword [esp + 0x90]
fsub qword [0x419318]
fst qword [esp + 0x80]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x403585
fld qword [esp + 0x90]
fadd qword [0x419318]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x4036ae
fld qword [esp + 0x88]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x4035ef
fld qword [esp + 0x78]
fadd qword [0x419258]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x4035ef
fld qword [esp + 0x90]
fsub qword [0x419318]
fst qword [esp + 0x80]
fsub qword [esp + 0x60]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x4035ef
fld qword [esp + 0x60]
fadd qword [esp + 0x90]
fadd qword [0x419318]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x4036ae
fld qword [esp + 0x90]
fsub qword [0x419318]
mov esi, dword [esp + 0x4c]
mov eax, esi
imul eax, esi
fst qword [esp + 0x80]
fsub qword [esp + 0x18]
fld st(0)
fmulp st(1)
fld qword [esp + 0x88]
fsub qword [esp + 0x10]
mov dword [esp + 0x30], eax
fld st(0)
fmul st(1)
fstp qword [esp + 0x28]
fstp st(0)
fild dword [esp + 0x30]
fstp qword [esp + 0x30]
fld qword [esp + 0x28]
fadd st(1)
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
jne 0x4036df
fld qword [esp + 0x78]
fadd qword [0x419258]
fsub qword [esp + 0x10]
fld st(0)
fmul st(1)
fstp qword [esp + 0x50]
fstp st(0)
fld qword [esp + 0x50]
fadd st(1)
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
fstp st(0)
jne 0x4036b2
fld qword [esp + 0x90]
fadd qword [0x419318]
fsub qword [esp + 0x18]
fld st(0)
fmulp st(1)
fld st(0)
fadd qword [esp + 0x50]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
jne 0x4036df
fadd qword [esp + 0x28]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
je case.default.0x4042fc
mov esi, dword [esp + 0x4c]
mov ebx, dword [ebp + 0x4290dc]
test ebx, ebx
jne 0x4036e3
cmp esi, 4
jne 0x4036e3
push 7
call fcn.0040df10
push ebx
push 7
call fcn.0040de80
mov dword [ebp + 0x4290dc], 1
jmp 0x4042a1
fstp st(0)
jmp 0x4036b2
cmp ebx, 2
jne 0x403713
cmp esi, 0x10
je 0x403713
push 7
call fcn.0040df10
push 0
push 7
call fcn.0040de80
xor ecx, ecx
cmp esi, 4
setne cl
add ecx, 3
mov dword [ebp + 0x4290dc], ecx
jmp 0x4042a1
cmp ebx, 3
jne 0x403738
cmp esi, 4
jne 0x403738
push 7
call fcn.0040df10
push 0
push 7
call fcn.0040de80
mov dword [ebp + 0x4290dc], esi
jmp 0x4042a1
cmp ebx, 5
jne 0x403752
push 3
call fcn.0040df10
push 0
push 3
call fcn.0040de80
jmp 0x4042a1
cmp ebx, 0xa
jne 0x40377b
cmp esi, 4
jne 0x40377b
push 7
call fcn.0040df10
push 0
push 7
call fcn.0040de80
mov dword [ebp + 0x4290dc], 0xb
jmp 0x4042a1
cmp ebx, 7
jne 0x4037a2
cmp esi, 4
jne 0x4037a2
push ebx
call fcn.0040df10
push 0
push ebx
call fcn.0040de80
mov dword [ebp + 0x4290dc], 8
jmp 0x4042a1
cmp ebx, 0xc
jne 0x4037b6
mov eax, dword [esp + 0x44]
or al, 2
mov dword [esp + 0x44], eax
jmp case.default.0x4042fc
cmp ebx, 0xd
jne 0x4037ca
mov eax, dword [esp + 0x44]
or al, 8
mov dword [esp + 0x44], eax
jmp case.default.0x4042fc
cmp ebx, 0xe
jne 0x4037de
mov eax, dword [esp + 0x44]
or al, 1
mov dword [esp + 0x44], eax
jmp case.default.0x4042fc
cmp ebx, 0xf
jne 0x4037f2
mov eax, dword [esp + 0x44]
or al, 4
mov dword [esp + 0x44], eax
jmp case.default.0x4042fc
cmp ebx, 0x10
je case.0x4042b8.4
cmp ebx, 0x11
jne 0x403fbb
fld qword [esp + 0x38]
fmul qword [esp + 0x38]
fld qword [esp + 0x20]
fmul qword [esp + 0x20]
faddp st(1)
fsqrt
fstp qword [esp + 0xb0]
fld qword [esp + 0x20]
fdiv qword [esp + 0xb0]
fchs
call fcn.004104e0
fstp qword [esp + 0x30]
fld qword [esp + 0x80]
fsub qword [esp + 0x60]
fst qword [esp + 0x28]
fstp qword [esp + 0x70]
fld qword [esp + 0x10]
fsub qword [esp + 0x88]
fld qword [0x4192a0]
call fcn.004102c0
fstp qword [esp + 0xd8]
fld qword [esp + 0x70]
fsub qword [esp + 0x18]
fld qword [esp + 0x18]
fsub qword [esp + 0x70]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0xd8]
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x188], edx
mov dword [esp + 0x18c], eax
fsqrt
fdivp st(1)
fstp qword [esp + 0x1e8]
fld qword [esp + 0x18]
fsub qword [esp + 0x28]
fld qword [0x4192a0]
call fcn.004102c0
fstp qword [esp + 0x70]
fld qword [esp + 0x188]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x188]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0x70]
fsqrt
fdivp st(1)
call fcn.004104e0
fstp qword [esp + 0x1a8]
fld qword [esp + 0x78]
fadd qword [0x419258]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
fstp qword [esp + 0x50]
fld qword [esp + 0x10]
fsub qword [esp + 0x50]
fld qword [0x4192a0]
call fcn.004102c0
fstp qword [esp + 0xe0]
fld qword [esp + 0x170]
fsub qword [esp + 0x18]
fld qword [esp + 0x18]
fsub qword [esp + 0x170]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0xe0]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
fsqrt
fdivp st(1)
fstp qword [esp + 0x1f0]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
fld qword [esp + 0x120]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x120]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0x70]
fsqrt
fdivp st(1)
call fcn.004104e0
fstp qword [esp + 0x1b0]
fld qword [esp + 0x60]
fadd qword [esp + 0x78]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x108], edx
mov dword [esp + 0x10c], eax
fadd qword [0x419258]
fstp qword [esp + 0x28]
fld qword [esp + 0x10]
fsub qword [esp + 0x28]
fld qword [0x4192a0]
call fcn.004102c0
fstp qword [esp + 0xd0]
fld qword [esp + 0x108]
fsub qword [esp + 0x18]
fld qword [esp + 0x18]
fsub qword [esp + 0x108]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0xd0]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], edx
fsqrt
fdivp st(1)
fstp qword [esp + 0x1f8]
fld qword [esp + 0x18]
fsub qword [esp + 0x80]
fld qword [0x4192a0]
call fcn.004102c0
fstp qword [esp + 0x1a0]
fld qword [esp + 0x128]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x128]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0x1a0]
fsqrt
fdivp st(1)
call fcn.004104e0
fstp qword [esp + 0x1b8]
fld qword [esp + 0x90]
fadd qword [0x419318]
fst qword [esp + 0x70]
fst qword [esp + 0xc8]
fsub qword [esp + 0x18]
fld qword [esp + 0x18]
fsub qword [esp + 0xc8]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0xd0]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
fsqrt
fdivp st(1)
fstp qword [esp + 0x200]
fld qword [esp + 0x18]
fsub qword [esp + 0x70]
fld qword [0x4192a0]
call fcn.004102c0
fstp qword [esp + 0xc8]
fld qword [esp + 0x118]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x118]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0xc8]
fsqrt
fdivp st(1)
call fcn.004104e0
fstp qword [esp + 0x1c0]
fld qword [esp + 0x60]
fadd qword [esp + 0x90]
fadd qword [0x419318]
fst qword [esp + 0x28]
fst qword [esp + 0xd0]
fsub qword [esp + 0x18]
fld qword [esp + 0x18]
fsub qword [esp + 0xd0]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0xe0]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x138], edx
mov dword [esp + 0x13c], eax
fsqrt
fdivp st(1)
fstp qword [esp + 0x208]
fld qword [esp + 0x18]
fsub qword [esp + 0x28]
fld qword [0x4192a0]
call fcn.004102c0
fstp qword [esp + 0xe0]
fld qword [esp + 0x138]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x138]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0xe0]
fsqrt
fdivp st(1)
call fcn.004104e0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
fstp qword [esp + 0x1c8]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], edx
fld qword [esp + 0x148]
fsub qword [esp + 0x18]
fld qword [esp + 0x18]
fsub qword [esp + 0x148]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0xd8]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
fsqrt
fdivp st(1)
fstp qword [esp + 0x210]
fld qword [esp + 0x130]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x130]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0xe0]
fsqrt
fdivp st(1)
call fcn.004104e0
fstp qword [esp + 0x1d0]
fld qword [esp + 0x10]
fsub qword [esp + 0xc0]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
fld qword [0x4192a0]
mov dword [esp + 0x140], edx
mov dword [esp + 0x144], eax
call fcn.004102c0
fstp qword [esp + 0xd8]
fld qword [esp + 0x140]
fsub qword [esp + 0x18]
fld qword [esp + 0x18]
fsub qword [esp + 0x140]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0xd8]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], edx
fsqrt
fdivp st(1)
fstp qword [esp + 0x218]
fld qword [esp + 0x180]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x180]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0xc8]
fsqrt
fdivp st(1)
call fcn.004104e0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
fstp qword [esp + 0x1d8]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
fld qword [esp + 0x150]
fsub qword [esp + 0x18]
fld qword [esp + 0x18]
fsub qword [esp + 0x150]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0xd8]
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], eax
fsqrt
fdivp st(1)
fstp qword [esp + 0x220]
fld qword [esp + 0xf8]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0xf8]
fld qword [0x4192a0]
call fcn.004102c0
fadd qword [esp + 0x1a0]
fsqrt
fdivp st(1)
call fcn.004104e0
fstp qword [esp + 0x1e0]
fld qword [esp + 0x38]
fdiv qword [esp + 0xb0]
fchs
fcomp qword [0x419238]
fnstsw ax
test ah, 1
je 0x403e16
fld qword [0x4192c8]
fsub qword [esp + 0x30]
fstp qword [esp + 0x30]
xor ecx, ecx
fld qword [esp + ecx + 0x1e8]
fcomp qword [0x419238]
fnstsw ax
test ah, 1
je 0x403e40
fld qword [0x4192c8]
fsub qword [esp + ecx + 0x1a8]
fstp qword [esp + ecx + 0x1a8]
add ecx, 8
cmp ecx, 0x40
jl 0x403e18
mov edi, dword [esp + 0x5c]
xor ecx, ecx
lea esi, [ecx + 1]
cmp ecx, 7
mov eax, esi
jne 0x403e5a
xor eax, eax
fld qword [esp + ecx*8 + 0x1a8]
fcomp qword [esp + eax*8 + 0x1a8]
lea edx, [esp + eax*8 + 0x1a8]
fnstsw ax
test ah, 0x41
jne 0x403eb7
fld qword [esp + ecx*8 + 0x1a8]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
je 0x403e99
fld qword [esp + 0x30]
fcomp qword [0x4192c8]
fnstsw ax
test ah, 1
jne 0x403ed6
fld qword [0x419238]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
je 0x403eb7
fld qword [esp + 0x30]
fcomp qword [edx]
fnstsw ax
test ah, 1
jne 0x403ed6
fld qword [esp + ecx*8 + 0x1a8]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
je 0x403ed8
fld qword [esp + 0x30]
fcomp qword [edx]
fnstsw ax
test ah, 1
je 0x403ed8
mov edi, ecx
mov ecx, esi
cmp ecx, 8
jl 0x403e4e
mov eax, dword [ebp + 0x4290e0]
mov dword [esp + 0x5c], edi
test al, 1
je 0x403f08
cmp edi, 7
jne 0x403efa
xor edi, edi
jmp 0x403f04
cmp edi, 5
jne 0x403f08
mov edi, 4
mov dword [esp + 0x5c], edi
test al, 2
je 0x403f26
cmp edi, 1
jne 0x403f18
mov edi, 2
jmp 0x403f22
cmp edi, 7
jne 0x403f26
mov edi, 6
mov dword [esp + 0x5c], edi
test al, 4
je 0x403f41
cmp edi, 1
jne 0x403f33
xor edi, edi
jmp 0x403f3d
cmp edi, 3
jne 0x403f41
mov edi, 4
mov dword [esp + 0x5c], edi
test al, 8
je 0x403f5f
cmp edi, 3
jne 0x403f51
mov edi, 2
jmp 0x403f5b
cmp edi, 5
jne 0x403f5f
mov edi, 6
mov dword [esp + 0x5c], edi
cmp ebx, 0x10
je 0x403f6d
cmp ebx, 0x11
jne 0x4042f3
test edi, edi
je 0x403f90
cmp edi, 1
je 0x403f90
cmp edi, 7
je 0x403f90
push 3
call fcn.0040df10
push 0
push 3
call fcn.0040de80
jmp 0x4042f3
cmp ebx, 0x10
jne 0x403fbb
cmp dword [esp + 0x4c], 4
jne 0x403fbb
push 7
mov dword [ebp + 0x4290dc], 0x11
call fcn.0040df10
push 0
push 7
call fcn.0040de80
jmp 0x4042ef
xor edi, edi
push edi
call fcn.0040df10
push edi
push edi
call fcn.0040de80
mov eax, dword [ebp + 0x4290dc]
cmp eax, 6
je 0x403fef
cmp eax, 9
je 0x403fef
mov eax, dword [0x4b8fd8]
mov dword [ebp + 0x4290d8], 4
cmp eax, edi
je 0x404011
jmp 0x403ff9
mov dword [ebp + 0x4290d8], 8
mov eax, dword [0x49f6a4]
mov ebx, dword [esp + 0x6c]
mov dword [eax*4 + 0x41ce60], ebx
inc eax
mov dword [0x49f6a4], eax
jmp 0x404015
mov ebx, dword [esp + 0x6c]
mov eax, dword [ebp + 0x4290dc]
cmp eax, 7
je 0x404025
cmp eax, 8
jne 0x4040a4
mov ecx, dword [0x428f64]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
lea eax, [ecx + ecx*4]
shl eax, 3
mov dword [eax + 0x425270], edx
mov edx, dword [esp + 0x90]
mov dword [eax + 0x425274], esi
mov esi, dword [esp + 0x94]
mov dword [eax + 0x425278], edx
mov dword [eax + 0x42527c], esi
mov dword [eax + 0x425280], edi
mov dword [eax + 0x425284], edi
lea esi, [ecx + ecx*4]
mov dword [eax + 0x425288], edi
mov dword [eax + 0x42528c], 0xbff00000
shl esi, 3
call fcn.0041021c
cdq
mov ecx, 7
idiv ecx
inc dword [0x428f64]
mov dword [esi + 0x425290], edx
mov dword [esi + 0x425294], 1
mov eax, ebx
mov ecx, 0xf
cdq
idiv ecx
cmp edx, edi
je 0x4040c0
mov eax, dword [ebp + 0x428c50]
and al, 0xfb
mov dword [ebp + 0x428c50], eax
cmp ebx, 0xe
jle 0x4040e4
lea eax, [ebx + ebx*8 - 0x87]
lea ecx, [ebx + eax*8 - 0xf]
shl ecx, 4
lea eax, [ecx + 0x4290e0]
mov ecx, dword [ecx + 0x4290e0]
and ecx, 0xfffffff7
mov dword [eax], ecx
cmp edx, 0xe
je 0x4040f7
mov eax, dword [ebp + 0x429570]
and al, 0xfe
mov dword [ebp + 0x429570], eax
cmp ebx, 0x177
jge 0x40410d
mov eax, dword [ebp + 0x42d550]
and al, 0xfd
mov dword [ebp + 0x42d550], eax
mov ecx, dword [0x41d478]
mov eax, dword [0x4b8fd8]
dec ecx
cmp eax, edi
mov dword [0x41d478], ecx
je 0x40429d
fld qword [esp + 0x38]
fmul qword [esp + 0x38]
fld qword [esp + 0x20]
fmul qword [esp + 0x20]
lea esi, [ebp + 0x429268]
mov edi, 0x20
faddp st(1)
fstp qword [esp + 0xb0]
fld qword [esi]
fsub qword [esp + 0x18]
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [esi - 0x100]
mov dword [esp + 0x110], edx
mov edx, dword [esi - 0xfc]
mov dword [esp + 0x114], eax
fstp qword [esp + 0x50]
fld qword [esi - 0x100]
fsub qword [esp + 0x10]
mov dword [esp + 0x198], ecx
mov eax, ecx
mov ecx, edx
mov dword [esp + 0x100], eax
fstp qword [esp + 0x28]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x19c], edx
fld qword [esp + 0x100]
fsub qword [esp + 0x10]
fld qword [esi]
fsubr qword [esp + 0x18]
fld qword [0x4192a0]
call fcn.004102c0
fld qword [esp + 0x10]
fsub qword [esp + 0x100]
fld qword [0x4192a0]
call fcn.004102c0
faddp st(1)
fsqrt
fdivp st(1)
fmul qword [esp + 0xb0]
fmul qword [0x419318]
fld qword [esp + 0x28]
fmul qword [esp + 0x28]
fld qword [esp + 0x50]
fmul qword [esp + 0x50]
faddp st(1)
fld qword [0x4192c0]
call fcn.004102c0
fdivp st(1)
fstp qword [esi + 0x100]
fld qword [esi]
fsub qword [esp + 0x18]
fstp qword [esp + 0x50]
fld qword [esi - 0x100]
fsub qword [esp + 0x10]
fstp qword [esp + 0x28]
fld qword [esp + 0x110]
fsub qword [esp + 0x18]
fld qword [esp + 0x10]
fsub qword [esp + 0x198]
fld qword [0x4192a0]
call fcn.004102c0
fld qword [esp + 0x18]
fsub qword [esp + 0x110]
fld qword [0x4192a0]
call fcn.004102c0
faddp st(1)
fsqrt
fdivp st(1)
fmul qword [esp + 0xb0]
fmul qword [0x419318]
fld qword [esp + 0x28]
fmul qword [esp + 0x28]
fld qword [esp + 0x50]
fmul qword [esp + 0x50]
faddp st(1)
fld qword [0x4192c0]
call fcn.004102c0
fdivp st(1)
fstp qword [esi + 0x200]
add esi, 8
dec edi
jne 0x40414b
mov esi, dword [esp + 0x4c]
mov ebx, dword [ebp + 0x4290dc]
cmp ebx, 0x11
ja case.0x4042b8.4
xor edx, edx
mov dl, byte [ebx + 0x404648]
jmp dword [edx*4 + 0x404634]
cmp esi, 0x10
je case.default.0x4042fc
jmp case.0x4042b8.4
cmp esi, 4
jne case.default.0x4042fc
jmp case.0x4042b8.4
cmp esi, 0x10
je case.default.0x4042fc
jmp 0x4042ef
cmp esi, 4
jne case.default.0x4042fc
mov edi, dword [esp + 0x5c]
cmp edi, 7
ja case.default.0x4042fc
jmp dword [edi*4 + 0x40465c]
fld qword [esp + 0x38]
fchs
fmul qword [0x4192b8]
fstp qword [esp + 0x38]
fld qword [esp + 0x80]
fsub qword [esp + 0x60]
jmp 0x404547
fld qword [esp + 0x38]
fchs
fmul qword [0x4192b8]
fstp qword [esp + 0x38]
fld qword [esp + 0x60]
fadd qword [esp + 0x90]
fadd qword [0x419318]
jmp 0x404547
fld qword [esp + 0x20]
fchs
fmul qword [0x4192b8]
fstp qword [esp + 0x20]
fld qword [esp + 0x60]
fadd qword [esp + 0x78]
fadd qword [0x419258]
fstp qword [esp + 0x10]
jmp case.default.0x4042fc
fld qword [esp + 0x20]
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
fchs
fmul qword [0x4192b8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
fstp qword [esp + 0x20]
jmp case.default.0x4042fc
lea eax, [edi - 1]
cmp eax, 6
ja case.0x4043a7.2
jmp dword [eax*4 + 0x40467c]
fld qword [esp + 0x78]
fadd qword [0x419258]
fstp qword [esp + 0xa8]
jmp 0x404436
fld qword [esp + 0x78]
fadd qword [0x419258]
fstp qword [esp + 0xa8]
fld qword [esp + 0x90]
fadd qword [0x419318]
fstp qword [esp + 0xa0]
jmp case.0x4043a7.2
fld qword [esp + 0x90]
fadd qword [0x419318]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edx
fstp qword [esp + 0xa0]
jmp case.0x4043a7.2
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], eax
fld qword [esp + 0x18]
fsub qword [esp + 0xa0]
fld qword [esp + 0x10]
fsub qword [esp + 0xa8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fld qword [esp + 0xa0]
fsub qword [esp + 0x18]
fdiv st(1)
fstp qword [esp + 0x50]
fld qword [esp + 0xa8]
fsub qword [esp + 0x10]
fdiv st(1)
fstp qword [esp + 0x28]
fstp st(0)
fld qword [esp + 0x38]
fld qword [0x4192a0]
call fcn.004102c0
fld qword [esp + 0x20]
fld qword [0x4192a0]
call fcn.004102c0
faddp st(1)
fsqrt
fld qword [esp + 0x38]
fdiv st(1)
fld qword [esp + 0x20]
fdiv st(2)
fld st(1)
fmul qword [esp + 0x28]
fld st(1)
fmul qword [esp + 0x50]
fsubp st(1)
fmul st(3)
fstp qword [esp + 0xb0]
fmul qword [esp + 0x28]
fxch st(1)
fmul qword [esp + 0x50]
faddp st(1)
fmulp st(1)
fmul qword [0x4192b8]
fld qword [esp + 0xb0]
fmul qword [esp + 0x50]
fchs
fld st(1)
fmul qword [esp + 0x28]
fsubp st(1)
fstp qword [esp + 0x20]
fld qword [esp + 0xb0]
fmul qword [esp + 0x28]
fxch st(1)
fmul qword [esp + 0x50]
fsubp st(1)
fstp qword [esp + 0x38]
fld qword [esp + 0x60]
fmul qword [esp + 0x28]
fsubr qword [esp + 0xa8]
fstp qword [esp + 0x10]
fld qword [esp + 0x60]
fmul qword [esp + 0x50]
fsubr qword [esp + 0xa0]
fstp qword [esp + 0x18]
mov eax, dword [esp + 0x9c]
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x48]
inc eax
mov dword [esp + 0x9c], eax
mov esi, eax
jmp 0x403462
mov eax, dword [esp + 0x44]
inc edi
mov dword [esp + 0x48], edi
jmp 0x403450
test al, 2
je 0x404590
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xc0000000
jmp 0x4045a4
test al, 8
je 0x4045a4
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0x40000000
test al, 1
je 0x4045ba
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xc0000000
jmp 0x4045ce
test al, 4
je 0x4045ce
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0x40000000
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
lea eax, [ebp + ebp*4]
shl eax, 3
inc ebp
mov dword [eax + 0x498448], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x49844c], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x498450], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x498454], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 0x498458], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x49845c], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x498460], ecx
mov dword [eax + 0x498464], edx
jmp 0x402b2f
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret