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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x3f
push 0
push 0
dec ecx
jne 0x4a372d
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov edi, ecx
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push 0x4a48de
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, 0x4a48fc
call fcn.00404a08
push dword [ebp - 4]
push 0x4a490c
xor eax, eax
mov al, byte [esi + 0x12]
mov ecx, 0xa
xor edx, edx
div ecx
mov eax, edx
lea edx, [ebp - 0x28]
call fcn.00409304
push dword [ebp - 0x28]
lea eax, [ebp - 4]
mov edx, 3
call fcn.00404cf0
push dword [ebp - 4]
push 0x4a491c
lea edx, [ebp - 0x2c]
xor eax, eax
mov al, byte [esi + 0x11]
call fcn.00409304
push dword [ebp - 0x2c]
lea eax, [ebp - 4]
mov edx, 3
call fcn.00404cf0
cmp byte [esi + 0x13], 0
je 0x4a37c4
lea eax, [ebp - 4]
mov edx, 0x4a492c
call fcn.00404c38
mov eax, dword [esi + 0xc]
call fcn.0048966c
test al, al
je 0x4a37dd
lea eax, [ebp - 4]
mov edx, 0x4a493c
call fcn.00404c38
lea eax, [ebp - 8]
mov edx, edi
call fcn.00404a08
lea eax, [ebp - 0x30]
push eax
push 0x4a494c
push dword [ebp - 4]
push 0x4a4960
lea eax, [ebp - 0x34]
mov edx, 3
call fcn.00404cf0
mov ecx, dword [ebp - 0x34]
mov edx, 0x4a496c
mov eax, dword [ebp - 8]
call fcn.00486a68
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 8]
call fcn.00404a08
xor eax, eax
mov al, byte [esi + 0x12]
cmp ebx, eax
je 0x4a385b
cmp dword [ebp + 0x10], 0
jg 0x4a385b
cmp byte [0x4de3c0], 0
jne 0x4a385b
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x4a4978
mov edx, 0x4a496c
mov eax, dword [ebp - 8]
call fcn.00486a68
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 8]
call fcn.00404a08
jmp 0x4a3860
mov eax, dword [ebp + 0xc]
inc dword [eax]
mov ebx, dword [esi + 4]
test ebx, ebx
jle 0x4a38aa
lea eax, [ebp - 0x3c]
push eax
push 0x4a499c
lea edx, [ebp - 0x44]
mov eax, ebx
call fcn.00409304
push dword [ebp - 0x44]
push 0x4a4960
lea eax, [ebp - 0x40]
mov edx, 3
call fcn.00404cf0
mov ecx, dword [ebp - 0x40]
mov edx, 0x4a49b8
mov eax, dword [ebp - 8]
call fcn.00486a68
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 8]
call fcn.00404a08
push dword [ebp - 8]
push 0x4a49c4
lea eax, [ebp - 0x48]
push eax
push 0x4a4a1c
push 0x4a4a48
push dword [esi]
push 0x4a4a58
lea eax, [ebp - 0x58]
mov edx, 3
call fcn.00404cf0
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 0x54]
call fcn.004051fc
mov edx, dword [ebp - 0x54]
mov eax, dword [0x4dd118]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x50]
call fcn.0040b1c4
push dword [ebp - 0x50]
push 0x4a4960
lea eax, [ebp - 0x4c]
mov edx, 3
call fcn.00404cf0
mov edx, dword [ebp - 0x4c]
cmp byte [esi + 0x12], 0xa
sete al
xor ecx, ecx
call fcn.0048612c
push dword [ebp - 0x48]
push 0x4a4a68
lea edx, [ebp - 0x5c]
xor eax, eax
mov al, byte [esi + 0x11]
call fcn.00409304
push dword [ebp - 0x5c]
push 0x4a4a84
push dword [esi + 0xc]
push 0x4a4aa0
xor eax, eax
mov al, byte [esi + 0x10]
mov edx, dword [0x4daf24]
push dword [edx + eax*8 + 4]
push 0x4a4ab4
lea eax, [ebp - 8]
mov edx, 0xa
call fcn.00404cf0
xor eax, eax
mov al, byte [0x4de3c0]
imul eax, eax, 0x43
lea ebx, [esi + eax*4 + 0x24]
mov edi, dword [ebx]
test edi, edi
jle 0x4a40e5
push dword [ebp - 8]
push 0x4a4ac0
push 0x4a4b14
push 0x4a4b94
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404cf0
push dword [ebp - 8]
lea eax, [ebp - 0x60]
push eax
fild dword [ebx + 0x34]
mov dword [ebp - 0x6c], edi
fild dword [ebp - 0x6c]
fdivp st(1)
add esp, 0xfffffffc
fstp dword [esp]
wait
lea edx, [ebp - 0x68]
mov eax, dword [0x4db3ac]
call fcn.00487650
mov edx, dword [ebp - 0x68]
lea ecx, [ebp - 0x64]
mov eax, 0x4a4c10
call fcn.00487838
mov eax, dword [ebp - 0x64]
push eax
fild dword [ebx + 0x34]
fild dword [ebx]
fdivp st(1)
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0x60]
lea eax, [ebp - 0x84]
push eax
fild dword [ebx + 0x38]
fild dword [ebx]
fdivp st(1)
add esp, 0xfffffffc
fstp dword [esp]
wait
lea edx, [ebp - 0x8c]
mov eax, dword [0x4db0cc]
call fcn.00487650
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x88]
mov eax, 0x4a4c44
call fcn.00487838
mov eax, dword [ebp - 0x88]
push eax
fild dword [ebx + 0x38]
fild dword [ebx]
fdivp st(1)
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0x84]
lea eax, [ebp - 0x90]
push eax
fild dword [ebx + 0x40]
fild dword [ebx]
fdivp st(1)
add esp, 0xfffffffc
fstp dword [esp]
wait
lea edx, [ebp - 0x98]
mov eax, dword [0x4dafac]
call fcn.00487650
mov edx, dword [ebp - 0x98]
lea ecx, [ebp - 0x94]
mov eax, 0x4a4c78
call fcn.00487838
mov eax, dword [ebp - 0x94]
push eax
fild dword [ebx + 0x40]
fild dword [ebx]
fdivp st(1)
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0x90]
lea eax, [ebp - 0x9c]
push eax
fild dword [ebx + 0x3c]
fild dword [ebx]
fdivp st(1)
add esp, 0xfffffffc
fstp dword [esp]
wait
lea edx, [ebp - 0xa4]
mov eax, dword [0x4daf4c]
call fcn.00487650
mov edx, dword [ebp - 0xa4]
lea ecx, [ebp - 0xa0]
mov eax, 0x4a4cb4
call fcn.00487838
mov eax, dword [ebp - 0xa0]
push eax
fild dword [ebx + 0x3c]
fild dword [ebx]
fdivp st(1)
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0x9c]
lea eax, [ebp - 8]
mov edx, 5
call fcn.00404cf0
lea eax, [ebp - 8]
mov edx, 0x4a4cf0
call fcn.00404c38
push dword [ebp - 8]
lea eax, [ebp - 0xa8]
push eax
push 0x4a4d88
lea eax, [ebp - 0xb0]
push eax
cmp dword [ebp + 0x10], 0
sete al
mov ecx, 0x4a4d9c
mov edx, 0x4a4db4
call fcn.0048612c
push dword [ebp - 0xb0]
push 0x4a4dc8
lea eax, [ebp - 0xac]
mov edx, 3
call fcn.00404cf0
mov eax, dword [ebp - 0xac]
mov edx, dword [ebx]
mov dword [ebp - 0x74], edx
mov byte [ebp - 0x70], 0
lea edx, [ebp - 0x74]
xor ecx, ecx
call fcn.0047d650
push dword [ebp - 0xa8]
lea eax, [ebp - 0xb4]
push eax
push dword [ebx + 0x5c]
lea edx, [ebp - 0xbc]
mov eax, dword [0x4db308]
call fcn.00487650
mov edx, dword [ebp - 0xbc]
lea ecx, [ebp - 0xb8]
mov eax, 0x4a4de8
call fcn.00487838
mov eax, dword [ebp - 0xb8]
push eax
fld dword [ebx + 0x5c]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0xb4]
lea eax, [ebp - 0xc0]
push eax
push 0x358637bd
push dword [ebx + 0xe0]
fld dword [ebx + 0xe0]
fcomp dword [0x4a4e1c]
fnstsw ax
sahf
sete al
call fcn.00486164
fdivr dword [ebx + 0x64]
fild dword [ebx]
fmulp st(1)
add esp, 0xfffffffc
fstp dword [esp]
wait
lea edx, [ebp - 0xc8]
mov eax, dword [0x4db2ac]
call fcn.00487650
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0xc4]
mov eax, 0x4a4e28
call fcn.00487838
mov eax, dword [ebp - 0xc4]
push eax
fld dword [ebx + 0x64]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0xc0]
lea eax, [ebp - 0xcc]
push eax
push dword [ebx + 0x18]
lea edx, [ebp - 0xd4]
mov eax, dword [0x4dae44]
call fcn.00487650
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd0]
mov eax, 0x4a4e60
call fcn.00487838
mov eax, dword [ebp - 0xd0]
push eax
fld dword [ebx + 0x18]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0xcc]
lea eax, [ebp - 0xd8]
push eax
push dword [ebx + 0x58]
lea edx, [ebp - 0xe0]
mov eax, dword [0x4dafa0]
call fcn.00487650
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
mov eax, 0x4a4e98
call fcn.00487838
mov eax, dword [ebp - 0xdc]
push eax
fld dword [ebx + 0x58]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0xd8]
lea eax, [ebp - 0xe4]
push eax
push dword [ebx + 0x78]
lea edx, [ebp - 0xec]
mov eax, dword [0x4daeec]
call fcn.00487650
mov edx, dword [ebp - 0xec]
lea ecx, [ebp - 0xe8]
mov eax, 0x4a4ed8
call fcn.00487838
mov eax, dword [ebp - 0xe8]
push eax
fld dword [ebx + 0x78]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0xe4]
lea eax, [ebp - 0xf0]
push eax
push dword [ebx + 0x80]
lea edx, [ebp - 0xf8]
mov eax, dword [0x4db218]
call fcn.00487650
mov edx, dword [ebp - 0xf8]
lea ecx, [ebp - 0xf4]
mov eax, 0x4a4f14
call fcn.00487838
mov eax, dword [ebp - 0xf4]
push eax
fld dword [ebx + 0x80]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0xf0]
lea eax, [ebp - 0xfc]
push eax
fild dword [ebx + 0x10]
fild dword [ebx]
fdivp st(1)
fmul dword [0x4a4f44]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea edx, [ebp - 0x104]
mov eax, dword [0x4dae50]
call fcn.00487650
mov edx, dword [ebp - 0x104]
lea ecx, [ebp - 0x100]
mov eax, 0x4a4f50
call fcn.00487838
mov eax, dword [ebp - 0x100]
push eax
fild dword [ebx + 0x10]
fild dword [ebx]
fdivp st(1)
fmul dword [0x4a4f44]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0xfc]
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x10c]
push eax
fild dword [esi + 0x18]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea edx, [ebp - 0x114]
mov eax, dword [0x4db2bc]
call fcn.00487650
mov edx, dword [ebp - 0x114]
lea ecx, [ebp - 0x110]
mov eax, 0x4a4f88
call fcn.00487838
mov eax, dword [ebp - 0x110]
mov edx, dword [esi + 0x18]
mov dword [ebp - 0x74], edx
mov byte [ebp - 0x70], 0
lea edx, [ebp - 0x74]
xor ecx, ecx
call fcn.0047d650
mov edx, dword [ebp - 0x10c]
cmp dword [ebp + 0x10], 0
setle al
xor ecx, ecx
call fcn.0048612c
push dword [ebp - 0x108]
lea eax, [ebp - 8]
mov edx, 0xa
call fcn.00404cf0
lea edi, [ebx + 0x8c]
push dword [ebp - 8]
push 0x4a4fc0
lea eax, [ebp - 0x118]
push eax
push dword [edi]
lea edx, [ebp - 0x120]
mov eax, dword [0x4daf88]
call fcn.00487650
mov edx, dword [ebp - 0x120]
lea ecx, [ebp - 0x11c]
mov eax, 0x4a500c
call fcn.00487838
mov eax, dword [ebp - 0x11c]
push eax
fld dword [edi]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0x118]
lea eax, [ebp - 0x124]
push eax
push dword [edi + 8]
lea edx, [ebp - 0x12c]
mov eax, dword [0x4db260]
call fcn.00487650
mov edx, dword [ebp - 0x12c]
lea ecx, [ebp - 0x128]
mov eax, 0x4a5044
call fcn.00487838
mov eax, dword [ebp - 0x128]
push eax
fld dword [edi + 8]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0x124]
lea eax, [ebp - 0x130]
push eax
push dword [edi + 0x10]
lea edx, [ebp - 0x138]
mov eax, dword [0x4daec8]
call fcn.00487650
mov edx, dword [ebp - 0x138]
lea ecx, [ebp - 0x134]
mov eax, 0x4a507c
call fcn.00487838
mov eax, dword [ebp - 0x134]
push eax
fld dword [edi + 0x10]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
push dword [ebp - 0x130]
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x140]
push eax
push dword [edi + 0x4c]
lea edx, [ebp - 0x148]
mov eax, dword [0x4db3d0]
call fcn.00487650
mov edx, dword [ebp - 0x148]
lea ecx, [ebp - 0x144]
mov eax, 0x4a50bc
call fcn.00487838
mov eax, dword [ebp - 0x144]
push eax
fld dword [edi + 0x4c]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
mov eax, dword [ebp - 0x140]
push eax
cmp dword [ebp + 0x10], 0
jne 0x4a40b5
push 0x4a4a48
push dword [esi]
push 0x4a4a58
lea eax, [ebp - 0x150]
mov edx, 3
call fcn.00404cf0
mov edx, dword [ebp - 0x150]
lea eax, [ebp - 0x14c]
call fcn.004051fc
mov edx, dword [ebp - 0x14c]
mov eax, dword [0x4dd118]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
fcomp dword [0x4a4e1c]
fnstsw ax
sahf
ja 0x4a40b9
xor eax, eax
jmp 0x4a40bb
mov al, 1
xor ecx, ecx
pop edx
call fcn.0048612c
push dword [ebp - 0x13c]
lea eax, [ebp - 8]
mov edx, 6
call fcn.00404cf0
lea eax, [ebp - 8]
mov edx, 0x4a50fc
call fcn.00404c38
jmp 0x4a40f2
lea eax, [ebp - 8]
mov edx, 0x4a5128
call fcn.00404c38
lea eax, [ebp - 8]
mov edx, 0x4a5164
call fcn.00404c38
cmp byte [0x4dd0e2], 0
je 0x4a4118
lea eax, [ebp - 0x10]
mov edx, dword [esi + 0x14]
call fcn.00404a08
jmp 0x4a41b7
push dword [0x4dd108]
push 0x4a5180
lea eax, [ebp - 0x154]
push eax
mov edx, dword [esi + 0x14]
mov eax, 0x4a518c
call fcn.00484620
inc eax
push eax
mov eax, dword [esi + 0x14]
call fcn.00404c30
mov ecx, eax
mov eax, dword [esi + 0x14]
pop edx
call fcn.00404e90
push dword [ebp - 0x154]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00404cf0
mov eax, dword [ebp - 0x10]
call fcn.0048969c
fstp qword [ebp - 0x74]
wait
call fcn.0040b7a4
fsub qword [ebp - 0x74]
fcomp dword [0x4a5190]
fnstsw ax
sahf
jb 0x4a418b
mov eax, dword [esi + 0x14]
xor ecx, ecx
mov edx, dword [ebp - 0x10]
call fcn.00488810
lea eax, [ebp - 0x158]
push eax
mov ecx, 0x4a518c
mov edx, 0x4a5180
mov eax, dword [ebp - 0x10]
call fcn.00486a68
mov ecx, dword [ebp - 0x158]
lea eax, [ebp - 0x10]
mov edx, 0x4a519c
call fcn.00404c7c
push dword [ebp - 8]
push 0x4a51b0
push dword [ebp - 0x10]
push 0x4a51e0
xor eax, eax
mov al, byte [esi + 0x12]
mov edx, dword [0x4db05c]
push dword [edx + eax*4 - 4]
push 0x4a51f0
lea eax, [ebp - 8]
mov edx, 6
call fcn.00404cf0
push dword [ebp - 8]
push 0x4a5204
push dword [esi + 0xc]
push 0x4a5214
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404cf0
lea eax, [ebp - 8]
mov edx, dword [ebp + 0x14]
mov edx, dword [edx - 0xc]
call fcn.00404c38
fld dword [ebx + 0xe0]
fcomp dword [0x4a4e1c]
fnstsw ax
sahf
je 0x4a4443
lea eax, [ebp - 8]
mov edx, 0x4a5224
call fcn.00404c38
xor eax, eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [0x4db2ac]
fld dword [eax + 0x14]
fmul dword [ebx + 0xe0]
fild dword [ebx]
fdivp st(1)
fcomp dword [ebx + 0x64]
fnstsw ax
sahf
jbe 0x4a4327
mov dword [ebp - 0x24], 6
mov edi, dword [0x4db2ac]
fld dword [edi]
fmul dword [ebx + 0xe0]
fild dword [ebx]
fdivp st(1)
fcomp dword [ebx + 0x64]
fnstsw ax
sahf
jbe 0x4a42bf
fld dword [edi]
fmul dword [ebx + 0xe0]
fild dword [ebx]
fdivp st(1)
call fcn.00402c18
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp dword [ebp - 0x1c]
wait
fld dword [edi]
fmul dword [ebx + 0xe0]
fild dword [ebx]
fdivp st(1)
call fcn.00402c18
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fsub dword [ebx + 0x64]
fstp dword [ebp - 0x14]
wait
jmp 0x4a42c7
add edi, 4
dec dword [ebp - 0x24]
jne 0x4a426a
lea eax, [ebp - 0x15c]
push eax
fld dword [ebp - 0x14]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x16c], eax
mov byte [ebp - 0x168], 3
fld dword [ebp - 0x1c]
fstp xword [ebp - 0x178]
wait
lea eax, [ebp - 0x178]
mov dword [ebp - 0x164], eax
mov byte [ebp - 0x160], 3
lea edx, [ebp - 0x16c]
mov ecx, 1
mov eax, 0x4a524c
call fcn.0047d650
mov edx, dword [ebp - 0x15c]
lea eax, [ebp - 8]
call fcn.00404c38
jmp 0x4a436e
lea eax, [ebp - 0x17c]
push eax
mov eax, dword [0x4db2ac]
fld dword [eax + 0x14]
fmul dword [ebx + 0xe0]
fild dword [ebx]
fdivp st(1)
fsubr dword [ebx + 0x64]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
mov eax, 0x4a5264
call fcn.0047d650
mov edx, dword [ebp - 0x17c]
lea eax, [ebp - 8]
call fcn.00404c38
push dword [ebp - 8]
lea eax, [ebp - 0x180]
push eax
fild dword [ebx]
fdivr dword [ebx + 0xe0]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
mov eax, 0x4a5278
call fcn.0047d650
push dword [ebp - 0x180]
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x188]
push eax
fld dword [ebx + 0x64]
fdiv dword [ebx + 0xe0]
mov edi, dword [ebx]
mov dword [ebp - 0x6c], edi
fild dword [ebp - 0x6c]
fmulp st(1)
add esp, 0xfffffffc
fstp dword [esp]
wait
lea edx, [ebp - 0x190]
mov eax, dword [0x4db2ac]
call fcn.00487650
mov edx, dword [ebp - 0x190]
lea ecx, [ebp - 0x18c]
mov eax, 0x4a52a4
call fcn.00487838
mov eax, dword [ebp - 0x18c]
push eax
fld dword [ebx + 0x64]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
pop eax
call fcn.0047d650
mov edx, dword [ebp - 0x188]
test edi, edi
setg al
mov ecx, 0x4a52b4
call fcn.0048612c
push dword [ebp - 0x184]
push 0x4a5214
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404cf0
jmp 0x4a448a
push dword [ebp - 8]
push 0x4a52c0
lea eax, [ebp - 0x194]
push eax
fld dword [ebx + 0x64]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 3
lea edx, [ebp - 0x74]
xor ecx, ecx
mov eax, 0x4a534c
call fcn.0047d650
push dword [ebp - 0x194]
push 0x4a5214
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404cf0
mov eax, dword [ebx]
mov edi, dword [ebx + 4]
cmp eax, edi
jle 0x4a460e
cmp dword [ebp + 0x10], 0
jg 0x4a460e
mov dword [ebp - 0x6c], edi
fild dword [ebp - 0x6c]
fild dword [ebx]
fdivp st(1)
fmul dword [0x4a5360]
fld xword [0x4a5364]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0042d4c0
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fdiv dword [0x4a5370]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0042d4c0
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmul dword [0x4a5374]
fstp dword [ebp - 0x1c]
wait
fild dword [ebx]
fmul dword [ebp - 0x1c]
fdiv dword [0x4a4f44]
fild dword [ebx + 4]
fsubp st(1)
fld dword [ebp - 0x1c]
fdiv dword [0x4a4f44]
fsubr dword [0x4a5378]
fdivp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0042d4c0
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x14]
wait
fld dword [ebp - 0x1c]
fadd dword [0x4a5374]
fstp dword [ebp - 0x20]
wait
fild dword [ebx]
fmul dword [ebp - 0x20]
fdiv dword [0x4a4f44]
fild dword [ebx + 4]
fsubp st(1)
fld dword [ebp - 0x20]
fdiv dword [0x4a4f44]
fsubr dword [0x4a5378]
fdivp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0042d4c0
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x18]
wait
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x198]
push eax
fld dword [ebp - 0x14]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x1b8], eax
mov byte [ebp - 0x1b4], 3
fld dword [ebp - 0x1c]
fstp xword [ebp - 0x178]
wait
lea eax, [ebp - 0x178]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 0x1ac], 3
fld dword [ebp - 0x18]
fstp xword [ebp - 0x1c4]
wait
lea eax, [ebp - 0x1c4]
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 0x1a4], 3
fld dword [ebp - 0x20]
fstp xword [ebp - 0x1d0]
wait
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 0x19c], 3
lea edx, [ebp - 0x1b8]
mov ecx, 3
mov eax, 0x4a5384
call fcn.0047d650
mov ecx, dword [ebp - 0x198]
mov eax, dword [ebp + 0x14]
mov eax, dword [eax - 0x10]
mov edx, 0x4a53cc
call fcn.00486a68
jmp 0x4a461c
lea eax, [ebp - 0xc]
mov edx, dword [ebp + 0x14]
mov edx, dword [edx - 0x10]
call fcn.00404a08
mov edi, dword [ebx]
test edi, edi
jle 0x4a46ed
push dword [ebp - 8]
push 0x4a5204
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x1d8]
push eax
fild dword [ebx + 4]
mov dword [ebp - 0x6c], edi
fild dword [ebp - 0x6c]
fdivp st(1)
fmul dword [0x4a4f44]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea edx, [ebp - 0x1e0]
mov eax, dword [0x4db308]
call fcn.00487650
mov edx, dword [ebp - 0x1e0]
lea ecx, [ebp - 0x1dc]
mov eax, dword [ebp - 0xc]
call fcn.00487838
mov eax, dword [ebp - 0x1dc]
push eax
mov eax, dword [ebx]
mov dword [ebp - 0x16c], eax
mov byte [ebp - 0x168], 0
fild dword [ebx + 4]
fild dword [ebx]
fdivp st(1)
fmul dword [0x4a4f44]
fstp xword [ebp - 0x80]
wait
lea eax, [ebp - 0x80]
mov dword [ebp - 0x164], eax
mov byte [ebp - 0x160], 3
lea edx, [ebp - 0x16c]
mov ecx, 1
pop eax
call fcn.0047d650
mov eax, dword [ebp - 0x1d8]
mov ecx, 0x4a53d8
mov edx, 0x4a53cc
call fcn.00486a68
push dword [ebp - 0x1d4]
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404cf0
jmp 0x4a478a
push dword [ebp - 8]
push 0x4a5204
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1e8]
push eax
push 0
lea edx, [ebp - 0x1f0]
mov eax, dword [0x4db308]
call fcn.00487650
mov edx, dword [ebp - 0x1f0]
lea ecx, [ebp - 0x1ec]
mov eax, dword [ebp - 0xc]
call fcn.00487838
mov eax, dword [ebp - 0x1ec]
push eax
mov eax, dword [ebx]
mov dword [ebp - 0x16c], eax
mov byte [ebp - 0x168], 0
mov eax, 0x4a53e4
mov dword [ebp - 0x164], eax
mov byte [ebp - 0x160], 3
lea edx, [ebp - 0x16c]
mov ecx, 1
pop eax
call fcn.0047d650
mov eax, dword [ebp - 0x1e8]
mov ecx, 0x4a53d8
mov edx, 0x4a53cc
call fcn.00486a68
push dword [ebp - 0x1e4]
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404cf0
lea eax, [ebp - 0x1f4]
push eax
mov ecx, 0x4a53f8
mov edx, 0x4a5410
mov eax, dword [ebp - 8]
call fcn.00486a68
mov edx, dword [ebp - 0x1f4]
lea eax, [ebp - 8]
call fcn.00404a08
lea eax, [ebp - 0x1f8]
push eax
mov ecx, 0x4a5430
mov edx, 0x4a5450
mov eax, dword [ebp - 8]
call fcn.00486a68
mov edx, dword [ebp - 0x1f8]
lea eax, [ebp - 8]
call fcn.00404a08
mov eax, dword [ebp + 0x14]
push eax
xor eax, eax
mov al, byte [0x4de3c0]
imul eax, eax, 0x43
fld dword [esi + eax*4 + 0x84]
fmul dword [0x4a4f44]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x200]
push eax
cmp dword [ebp + 0x10], 0
jle 0x4a4819
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x14]
mov edx, 0x4a546c
call fcn.00404d7c
jne 0x4a481d
xor eax, eax
jmp 0x4a481f
mov al, 1
xor ecx, ecx
mov edx, 0x4a5478
call fcn.0048612c
mov eax, dword [ebp - 0x200]
lea edx, [ebp - 0x1fc]
call fcn.004a352c
pop ecx
mov edx, dword [ebp - 0x1fc]
lea eax, [ebp - 8]
call fcn.00404c38
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 8]
call fcn.004049c4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a48e8
lea eax, [ebp - 0x200]
mov edx, 0xc
call fcn.00404994
lea eax, [ebp - 0x198]
mov edx, 8
call fcn.00404994
lea eax, [ebp - 0x15c]
mov edx, 4
call fcn.00404994
lea eax, [ebp - 0x14c]
call fcn.00405078
lea eax, [ebp - 0x148]
mov edx, 0x32
call fcn.00404994
lea eax, [ebp - 0x68]
mov edx, 5
call fcn.00404994
lea eax, [ebp - 0x54]
call fcn.00405078
lea eax, [ebp - 0x50]
mov edx, 0xb
call fcn.00404994
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00404994
ret