Function at 0x4a372c
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 0x4a3735
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 0x4a48e6
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, 0x4a4904
call fcn.00404a08
push dword [ebp - 4]
push 0x4a4914
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 0x4a4924
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 0x4a37cc
lea eax, [ebp - 4]
mov edx, 0x4a4934
call fcn.00404c38
mov eax, dword [esi + 0xc]
call fcn.00489670
test al, al
je 0x4a37e5
lea eax, [ebp - 4]
mov edx, 0x4a4944
call fcn.00404c38
lea eax, [ebp - 8]
mov edx, edi
call fcn.00404a08
lea eax, [ebp - 0x30]
push eax
push 0x4a4954
push dword [ebp - 4]
push 0x4a4968
lea eax, [ebp - 0x34]
mov edx, 3
call fcn.00404cf0
mov ecx, dword [ebp - 0x34]
mov edx, 0x4a4974
mov eax, dword [ebp - 8]
call fcn.00486a6c
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 8]
call fcn.00404a08
xor eax, eax
mov al, byte [esi + 0x12]
cmp ebx, eax
je 0x4a3863
cmp dword [ebp + 0x10], 0
jg 0x4a3863
cmp byte [0x4de3c0], 0
jne 0x4a3863
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x4a4980
mov edx, 0x4a4974
mov eax, dword [ebp - 8]
call fcn.00486a6c
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 8]
call fcn.00404a08
jmp 0x4a3868
mov eax, dword [ebp + 0xc]
inc dword [eax]
mov ebx, dword [esi + 4]
test ebx, ebx
jle 0x4a38b2
lea eax, [ebp - 0x3c]
push eax
push 0x4a49a4
lea edx, [ebp - 0x44]
mov eax, ebx
call fcn.00409304
push dword [ebp - 0x44]
push 0x4a4968
lea eax, [ebp - 0x40]
mov edx, 3
call fcn.00404cf0
mov ecx, dword [ebp - 0x40]
mov edx, 0x4a49c0
mov eax, dword [ebp - 8]
call fcn.00486a6c
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 8]
call fcn.00404a08
push dword [ebp - 8]
push 0x4a49cc
lea eax, [ebp - 0x48]
push eax
push 0x4a4a24
push 0x4a4a50
push dword [esi]
push 0x4a4a60
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 0x4a4968
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.00486130
push dword [ebp - 0x48]
push 0x4a4a70
lea edx, [ebp - 0x5c]
xor eax, eax
mov al, byte [esi + 0x11]
call fcn.00409304
push dword [ebp - 0x5c]
push 0x4a4a8c
push dword [esi + 0xc]
push 0x4a4aa8
xor eax, eax
mov al, byte [esi + 0x10]
mov edx, dword [0x4daf24]
push dword [edx + eax*8 + 4]
push 0x4a4abc
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 0x4a40ed
push dword [ebp - 8]
push 0x4a4ac8
push 0x4a4b1c
push 0x4a4b9c
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.00487654
mov edx, dword [ebp - 0x68]
lea ecx, [ebp - 0x64]
mov eax, 0x4a4c18
call fcn.0048783c
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.00487654
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x88]
mov eax, 0x4a4c4c
call fcn.0048783c
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.00487654
mov edx, dword [ebp - 0x98]
lea ecx, [ebp - 0x94]
mov eax, 0x4a4c80
call fcn.0048783c
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.00487654
mov edx, dword [ebp - 0xa4]
lea ecx, [ebp - 0xa0]
mov eax, 0x4a4cbc
call fcn.0048783c
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, 0x4a4cf8
call fcn.00404c38
push dword [ebp - 8]
lea eax, [ebp - 0xa8]
push eax
push 0x4a4d90
lea eax, [ebp - 0xb0]
push eax
cmp dword [ebp + 0x10], 0
sete al
mov ecx, 0x4a4da4
mov edx, 0x4a4dbc
call fcn.00486130
push dword [ebp - 0xb0]
push 0x4a4dd0
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.00487654
mov edx, dword [ebp - 0xbc]
lea ecx, [ebp - 0xb8]
mov eax, 0x4a4df0
call fcn.0048783c
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 [0x4a4e24]
fnstsw ax
sahf
sete al
call fcn.00486168
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.00487654
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0xc4]
mov eax, 0x4a4e30
call fcn.0048783c
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.00487654
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd0]
mov eax, 0x4a4e68
call fcn.0048783c
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.00487654
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
mov eax, 0x4a4ea0
call fcn.0048783c
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.00487654
mov edx, dword [ebp - 0xec]
lea ecx, [ebp - 0xe8]
mov eax, 0x4a4ee0
call fcn.0048783c
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.00487654
mov edx, dword [ebp - 0xf8]
lea ecx, [ebp - 0xf4]
mov eax, 0x4a4f1c
call fcn.0048783c
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 [0x4a4f4c]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea edx, [ebp - 0x104]
mov eax, dword [0x4dae50]
call fcn.00487654
mov edx, dword [ebp - 0x104]
lea ecx, [ebp - 0x100]
mov eax, 0x4a4f58
call fcn.0048783c
mov eax, dword [ebp - 0x100]
push eax
fild dword [ebx + 0x10]
fild dword [ebx]
fdivp st(1)
fmul dword [0x4a4f4c]
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.00487654
mov edx, dword [ebp - 0x114]
lea ecx, [ebp - 0x110]
mov eax, 0x4a4f90
call fcn.0048783c
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.00486130
push dword [ebp - 0x108]
lea eax, [ebp - 8]
mov edx, 0xa
call fcn.00404cf0
lea edi, [ebx + 0x8c]
push dword [ebp - 8]
push 0x4a4fc8
lea eax, [ebp - 0x118]
push eax
push dword [edi]
lea edx, [ebp - 0x120]
mov eax, dword [0x4daf88]
call fcn.00487654
mov edx, dword [ebp - 0x120]
lea ecx, [ebp - 0x11c]
mov eax, 0x4a5014
call fcn.0048783c
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.00487654
mov edx, dword [ebp - 0x12c]
lea ecx, [ebp - 0x128]
mov eax, 0x4a504c
call fcn.0048783c
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.00487654
mov edx, dword [ebp - 0x138]
lea ecx, [ebp - 0x134]
mov eax, 0x4a5084
call fcn.0048783c
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.00487654
mov edx, dword [ebp - 0x148]
lea ecx, [ebp - 0x144]
mov eax, 0x4a50c4
call fcn.0048783c
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 0x4a40bd
push 0x4a4a50
push dword [esi]
push 0x4a4a60
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 [0x4a4e24]
fnstsw ax
sahf
ja 0x4a40c1
xor eax, eax
jmp 0x4a40c3
mov al, 1
xor ecx, ecx
pop edx
call fcn.00486130
push dword [ebp - 0x13c]
lea eax, [ebp - 8]
mov edx, 6
call fcn.00404cf0
lea eax, [ebp - 8]
mov edx, 0x4a5104
call fcn.00404c38
jmp 0x4a40fa
lea eax, [ebp - 8]
mov edx, 0x4a5130
call fcn.00404c38
lea eax, [ebp - 8]
mov edx, 0x4a516c
call fcn.00404c38
cmp byte [0x4dd0e2], 0
je 0x4a4120
lea eax, [ebp - 0x10]
mov edx, dword [esi + 0x14]
call fcn.00404a08
jmp 0x4a41bf
push dword [0x4dd108]
push 0x4a5188
lea eax, [ebp - 0x154]
push eax
mov edx, dword [esi + 0x14]
mov eax, 0x4a5194
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.004896a0
fstp qword [ebp - 0x74]
wait
call fcn.0040b7a4
fsub qword [ebp - 0x74]
fcomp dword [0x4a5198]
fnstsw ax
sahf
jb 0x4a4193
mov eax, dword [esi + 0x14]
xor ecx, ecx
mov edx, dword [ebp - 0x10]
call fcn.00488814
lea eax, [ebp - 0x158]
push eax
mov ecx, 0x4a5194
mov edx, 0x4a5188
mov eax, dword [ebp - 0x10]
call fcn.00486a6c
mov ecx, dword [ebp - 0x158]
lea eax, [ebp - 0x10]
mov edx, 0x4a51a4
call fcn.00404c7c
push dword [ebp - 8]
push 0x4a51b8
push dword [ebp - 0x10]
push 0x4a51e8
xor eax, eax
mov al, byte [esi + 0x12]
mov edx, dword [0x4db05c]
push dword [edx + eax*4 - 4]
push 0x4a51f8
lea eax, [ebp - 8]
mov edx, 6
call fcn.00404cf0
push dword [ebp - 8]
push 0x4a520c
push dword [esi + 0xc]
push 0x4a521c
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 [0x4a4e24]
fnstsw ax
sahf
je 0x4a444b
lea eax, [ebp - 8]
mov edx, 0x4a522c
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 0x4a432f
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 0x4a42c7
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 0x4a42cf
add edi, 4
dec dword [ebp - 0x24]
jne 0x4a4272
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, 0x4a5254
call fcn.0047d650
mov edx, dword [ebp - 0x15c]
lea eax, [ebp - 8]
call fcn.00404c38
jmp 0x4a4376
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, 0x4a526c
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, 0x4a5280
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.00487654
mov edx, dword [ebp - 0x190]
lea ecx, [ebp - 0x18c]
mov eax, 0x4a52ac
call fcn.0048783c
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, 0x4a52bc
call fcn.00486130
push dword [ebp - 0x184]
push 0x4a521c
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404cf0
jmp 0x4a4492
push dword [ebp - 8]
push 0x4a52c8
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, 0x4a5354
call fcn.0047d650
push dword [ebp - 0x194]
push 0x4a521c
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404cf0
mov eax, dword [ebx]
mov edi, dword [ebx + 4]
cmp eax, edi
jle 0x4a4616
cmp dword [ebp + 0x10], 0
jg 0x4a4616
mov dword [ebp - 0x6c], edi
fild dword [ebp - 0x6c]
fild dword [ebx]
fdivp st(1)
fmul dword [0x4a5368]
fld xword [0x4a536c]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0042d4c0
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fdiv dword [0x4a5378]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0042d4c0
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmul dword [0x4a537c]
fstp dword [ebp - 0x1c]
wait
fild dword [ebx]
fmul dword [ebp - 0x1c]
fdiv dword [0x4a4f4c]
fild dword [ebx + 4]
fsubp st(1)
fld dword [ebp - 0x1c]
fdiv dword [0x4a4f4c]
fsubr dword [0x4a5380]
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 [0x4a537c]
fstp dword [ebp - 0x20]
wait
fild dword [ebx]
fmul dword [ebp - 0x20]
fdiv dword [0x4a4f4c]
fild dword [ebx + 4]
fsubp st(1)
fld dword [ebp - 0x20]
fdiv dword [0x4a4f4c]
fsubr dword [0x4a5380]
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, 0x4a538c
call fcn.0047d650
mov ecx, dword [ebp - 0x198]
mov eax, dword [ebp + 0x14]
mov eax, dword [eax - 0x10]
mov edx, 0x4a53d4
call fcn.00486a6c
jmp 0x4a4624
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 0x4a46f5
push dword [ebp - 8]
push 0x4a520c
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 [0x4a4f4c]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea edx, [ebp - 0x1e0]
mov eax, dword [0x4db308]
call fcn.00487654
mov edx, dword [ebp - 0x1e0]
lea ecx, [ebp - 0x1dc]
mov eax, dword [ebp - 0xc]
call fcn.0048783c
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 [0x4a4f4c]
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, 0x4a53e0
mov edx, 0x4a53d4
call fcn.00486a6c
push dword [ebp - 0x1d4]
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404cf0
jmp 0x4a4792
push dword [ebp - 8]
push 0x4a520c
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1e8]
push eax
push 0
lea edx, [ebp - 0x1f0]
mov eax, dword [0x4db308]
call fcn.00487654
mov edx, dword [ebp - 0x1f0]
lea ecx, [ebp - 0x1ec]
mov eax, dword [ebp - 0xc]
call fcn.0048783c
mov eax, dword [ebp - 0x1ec]
push eax
mov eax, dword [ebx]
mov dword [ebp - 0x16c], eax
mov byte [ebp - 0x168], 0
mov eax, 0x4a53ec
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, 0x4a53e0
mov edx, 0x4a53d4
call fcn.00486a6c
push dword [ebp - 0x1e4]
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404cf0
lea eax, [ebp - 0x1f4]
push eax
mov ecx, 0x4a5400
mov edx, 0x4a5418
mov eax, dword [ebp - 8]
call fcn.00486a6c
mov edx, dword [ebp - 0x1f4]
lea eax, [ebp - 8]
call fcn.00404a08
lea eax, [ebp - 0x1f8]
push eax
mov ecx, 0x4a5438
mov edx, 0x4a5458
mov eax, dword [ebp - 8]
call fcn.00486a6c
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 [0x4a4f4c]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x200]
push eax
cmp dword [ebp + 0x10], 0
jle 0x4a4821
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x14]
mov edx, 0x4a5474
call fcn.00404d7c
jne 0x4a4825
xor eax, eax
jmp 0x4a4827
mov al, 1
xor ecx, ecx
mov edx, 0x4a5480
call fcn.00486130
mov eax, dword [ebp - 0x200]
lea edx, [ebp - 0x1fc]
call fcn.004a3534
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 0x4a48f0
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