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

Disassembly:
sub esp, 0x1dc
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebp
mov eax, dword [0x64f52c]
test eax, eax
jne 0x49aff9
mov ecx, dword [0x64f464]
test ecx, ecx
jne 0x49aff9
mov edx, dword [0x64f4dc]
test edx, edx
je 0x49aff9
fld dword [0x6a3c30]
fld dword [0x64ec6c]
fucompp
fnstsw ax
sahf
je 0x49aff9
mov eax, dword [0x64ec6c]
mov dword [esp + 0x1a8], eax
mov eax, dword [0x64f560]
test eax, eax
je 0x499d4f
fld dword [0x6a3c30]
fst dword [esp + 0x190]
fstp dword [esp + 0x180]
mov ecx, dword [0x64f1c8]
mov dword [0x64f1c4], ecx
mov ebp, dword [esp + 0x1e0]
mov edi, dword [esp + 0x1e4]
lea esi, [esp + 0x18c]
lea ebx, [esp + 0x188]
nop
nop
mov edx, dword [0x64f1c4]
mov dword [esp + 0x17c], edx
test edx, edx
je 0x499c82
mov eax, dword [case.0x407d9a.10]
mov ecx, dword [esp + 0x17c]
cmp ecx, eax
je 0x499c6e
mov edx, dword [esp + 0x17c]
fld dword [ebp + edx*4 + 0x28]
fld dword [esp + 0x180]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
ja 0x499bcd
fstp dword [esp + 0x184]
jmp 0x499bd6
fstp st(0)
fst dword [esp + 0x184]
fstp st(0)
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x180], ecx
mov ecx, dword [esp + 0x17c]
mov edx, dword [edi + ecx*4 + 0x18]
fld dword [ebp + edx*4 + 4]
fstp dword [esp + 0x188]
mov edx, dword [ebp + ecx*4 + 0x30]
mov dword [esp + 0x18c], edx
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea ecx, [0x64f1c4]
mov dword [esp + 0x10], ecx
call fcn.00491478
fabs
fld dword [esp + 0x190]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
ja 0x499c47
fstp dword [esp + 0x184]
jmp 0x499c50
fstp st(0)
fst dword [esp + 0x184]
fstp st(0)
mov eax, dword [esp + 0x184]
mov dword [esp + 0x190], eax
mov edx, dword [0x64f4c0]
test edx, edx
jne 0x49aff9
mov eax, dword [0x64f1c4]
mov ecx, dword [edi + eax*4]
mov dword [0x64f1c4], ecx
jmp 0x499b78
fld dword [esp + 0x190]
fld dword [0x64ec6c]
fucom st(1)
fnstsw ax
sahf
ja 0x499ca8
fxch st(1)
fstp dword [esp + 0x184]
jmp 0x499cb1
fstp st(1)
fst dword [esp + 0x184]
mov eax, dword [esp + 0x184]
mov dword [esp + 0x1a8], eax
mov edx, dword [0x64f4e4]
test edx, edx
je 0x499d17
fld dword [esp + 0x180]
fmul dword [0x64ec68]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
fstp dword [esp + 0x48]
ja 0x499cfb
mov eax, dword [esp + 0x48]
mov dword [esp + 0x184], eax
jmp 0x499d02
fst dword [esp + 0x184]
fstp st(0)
mov eax, dword [esp + 0x184]
mov dword [esp + 0x19c], eax
jmp 0x499d4f
fld dword [0x64ec68]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
ja 0x499d36
fstp dword [esp + 0x184]
jmp 0x499d3f
fstp st(0)
fst dword [esp + 0x184]
fstp st(0)
mov eax, dword [esp + 0x184]
mov dword [esp + 0x19c], eax
fld dword [0x6a3c30]
fst dword [esp + 0x168]
fst dword [esp + 0x170]
fst dword [esp + 0x16c]
fst dword [esp + 0x174]
fstp dword [esp + 0x178]
mov eax, dword [0x64f1b4]
mov dword [esp + 0x100], eax
mov edi, dword [esp + 0x1e4]
mov esi, 4
lea ebx, [esp + 0x114]
mov ebp, dword [esp + 0x1e0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x150], ecx
test ecx, ecx
je 0x49a1c9
mov edx, dword [esp + 0x150]
mov eax, dword [edi + edx*4 + 0x1c]
mov dword [esp + 0x154], eax
mov ecx, dword [edi + edx*4 + 0x20]
mov dword [esp + 0x158], ecx
test eax, eax
jle 0x499e66
mov edx, dword [esp + 0x158]
cmp edx, 1
jne 0x499e19
mov eax, dword [esp + 0x154]
mov ecx, dword [eax*4 + 0x65f42c]
mov dword [0x64b1d8], ecx
mov ecx, dword [eax*4 + 0x65f4f4]
mov dword [0x64b208], ecx
jmp 0x49a05b
mov ecx, dword [esp + 0x154]
mov eax, dword [ecx*4 + 0x65f5bc]
mov dword [0x64b1d8], eax
mov eax, dword [ecx*4 + 0x65f684]
mov dword [0x64b208], eax
mov eax, dword [ecx*4 + 0x65eb94]
mov dword [0x64b1d0], eax
mov eax, dword [ecx*4 + 0x65eacc]
mov dword [0x64b1d4], eax
mov eax, dword [ecx*4 + 0x65eeb4]
mov dword [0x64b1dc], eax
jmp 0x49a05b
mov edx, dword [esp + 0x150]
mov eax, dword [edi + edx*4 + 0x78]
mov dword [esp + 0x15c], eax
mov dword [0x64b1b8], eax
test eax, eax
je 0x49a05b
mov dword [0x64b1bc], esi
mov ecx, dword [esp + 0x15c]
mov edx, dword [edi + ecx*4 - 4]
mov dword [esp + 0x114], edx
inc ecx
mov dword [esp + 0x160], ecx
test edx, edx
je 0x49a050
mov dword [esp], ebx
call fcn.00601d60
test eax, eax
je 0x499ee2
mov dword [esp], ebp
mov dword [esp + 4], edi
mov eax, dword [esp + 0x160]
shl eax, 2
add eax, edi
lea ecx, [eax - 4]
mov dword [esp + 8], ecx
call fcn.00413890
jmp 0x49a050
mov edx, dword [esp + 0x114]
mov dword [esp + 0x164], edx
cmp edx, 1
jne 0x499f1d
mov dword [esp], ebp
mov dword [esp + 4], edi
mov eax, dword [esp + 0x160]
shl eax, 2
add eax, ebp
lea ecx, [eax - 4]
mov dword [esp + 8], ecx
call fcn.00447798
jmp 0x49a050
mov edx, dword [esp + 0x164]
cmp edx, 2
jne 0x499f51
mov dword [esp], ebp
mov dword [esp + 4], edi
mov eax, dword [esp + 0x160]
shl eax, 2
add eax, ebp
lea ecx, [eax - 4]
mov dword [esp + 8], ecx
call fcn.0044c078
jmp 0x49a050
mov edx, dword [esp + 0x164]
cmp edx, 3
jne 0x499f85
mov dword [esp], ebp
mov dword [esp + 4], edi
mov eax, dword [esp + 0x160]
shl eax, 2
add eax, ebp
lea ecx, [eax - 4]
mov dword [esp + 8], ecx
call fcn.0044d748
jmp 0x49a050
mov edx, dword [esp + 0x164]
cmp edx, 4
jne 0x499fb9
mov dword [esp], ebp
mov dword [esp + 4], edi
mov eax, dword [esp + 0x160]
shl eax, 2
add eax, ebp
lea ecx, [eax - 4]
mov dword [esp + 8], ecx
call fcn.0044d748
jmp 0x49a050
mov edx, dword [esp + 0x164]
cmp edx, 5
jne 0x499fed
mov dword [esp], ebp
mov dword [esp + 4], edi
mov eax, dword [esp + 0x160]
shl eax, 2
add eax, ebp
lea ecx, [eax - 4]
mov dword [esp + 8], ecx
call fcn.0044cb38
jmp 0x49a050
mov edx, dword [esp + 0x164]
cmp edx, 7
jne 0x49a021
mov dword [esp], ebp
mov dword [esp + 4], edi
mov eax, dword [esp + 0x160]
shl eax, 2
add eax, ebp
lea ecx, [eax - 4]
mov dword [esp + 8], ecx
call fcn.00454500
jmp 0x49a050
mov edx, dword [esp + 0x164]
cmp edx, 8
jne 0x49a050
mov dword [esp], ebp
mov dword [esp + 4], edi
mov eax, dword [esp + 0x160]
shl eax, 2
add eax, ebp
lea ecx, [eax - 4]
mov dword [esp + 8], ecx
call fcn.0044d748
mov edx, 2
mov dword [0x64b1bc], edx
mov eax, dword [0x64f594]
test eax, eax
jle 0x49a0b1
mov ecx, dword [esp + 0x154]
sar ecx, 0x1f
mov edx, ecx
xor edx, dword [esp + 0x154]
sub edx, ecx
mov dword [esp + 0x11c], edx
mov dword [esp], ebp
mov dword [esp + 4], edi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
lea ecx, [esp + 0x11c]
mov dword [esp + 0xc], ecx
lea edx, [0x64b1d8]
mov dword [esp + 0x10], edx
call fcn.0049c6c8
mov eax, dword [esp + 0x158]
cmp eax, 1
fld dword [0x64b208]
fld dword [0x64b1d8]
jne 0x49a124
fst dword [esp + 0x120]
fxch st(1)
fst dword [esp + 0x124]
fld dword [esp + 0x168]
fucomp st(2)
fxch st(1)
fnstsw ax
sahf
jae 0x49a0f8
fst dword [esp + 0x168]
fld dword [esp + 0x16c]
fld dword [esp + 0x124]
fucompp
fnstsw ax
sahf
jbe 0x49a1af
mov eax, dword [esp + 0x124]
mov dword [esp + 0x16c], eax
jmp 0x49a1af
fld st(0)
fmul dword [0x64b1d4]
fst dword [esp + 0x120]
fld st(2)
fmul dword [0x64b1d4]
fst dword [esp + 0x124]
fld dword [esp + 0x170]
fucomp st(2)
fxch st(3)
fxch st(1)
fnstsw ax
sahf
fxch st(2)
jae 0x49a165
fxch st(2)
fst dword [esp + 0x170]
fxch st(2)
fstp st(2)
fld dword [esp + 0x174]
fucomp st(3)
fxch st(1)
fnstsw ax
sahf
jae 0x49a186
fxch st(2)
fst dword [esp + 0x174]
fxch st(2)
fstp st(2)
fld dword [esp + 0x178]
fld dword [0x64b1d0]
fucompp
fxch st(1)
fnstsw ax
sahf
jbe 0x49a1af
mov eax, dword [0x64b1d0]
mov dword [esp + 0x178], eax
fstp st(1)
fstp st(0)
mov ecx, dword [esp + 0x100]
mov edx, dword [edi + ecx*4]
mov dword [esp + 0x100], edx
jmp 0x499da8
mov eax, dword [esp + 0x1e8]
mov ecx, dword [eax]
mov dword [esp + 0x1ac], ecx
mov ebp, ecx
dec ebp
cmp ebp, 2
ja case.0x49a1e5.1
jmp dword [ebp*4 + 0x49a1ec]
fld dword [0x6a3c30]
fst dword [esp + 0x1a4]
mov edx, 1
mov dword [esp + 0x1ac], edx
fld dword [0x64ec8c]
fucompp
fnstsw ax
sahf
je 0x49ae8d
fld dword [0x6a3c30]
fld dword [0x64ec78]
fucompp
fnstsw ax
sahf
je 0x49ae8d
mov ecx, dword [0x64ec78]
mov dword [esp], ecx
mov ecx, dword [esp + 0x178]
mov dword [esp + 4], ecx
call fcn.00646358
fmul dword [esp + 0x170]
fdiv dword [0x64ec8c]
fst dword [esp + 0x1b0]
fld dword [esp + 0x168]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
ja 0x49a288
fxch st(1)
fstp dword [esp + 0x184]
jmp 0x49a291
fstp st(1)
fst dword [esp + 0x184]
fstp st(0)
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x1b0], ecx
mov ecx, dword [0x64ec78]
mov dword [esp], ecx
mov ecx, dword [esp + 0x178]
mov dword [esp + 4], ecx
call fcn.00646358
fmul dword [esp + 0x174]
fdiv dword [0x64ec8c]
fst dword [esp + 0x1b4]
fld dword [esp + 0x16c]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
ja 0x49a2f0
fxch st(1)
fstp dword [esp + 0x184]
jmp 0x49a2f9
fstp st(1)
fst dword [esp + 0x184]
fstp st(0)
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x1b4], ecx
fld dword [0x6a3c30]
fld dword [esp + 0x1b0]
fucompp
fnstsw ax
sahf
je 0x49ae8d
fld dword [0x6a3c30]
fld dword [esp + 0x1b4]
fucompp
fnstsw ax
sahf
je 0x49ae8d
fld dword [0x64ed8c]
fmul dword [0x6a3ca0]
fmul dword [0x64ecbc]
fld dword [esp + 0x1a8]
fmul dword [esp + 0x1b0]
fdivp st(1)
fstp dword [esp + 0x1a4]
fld dword [0x6a3c30]
fld dword [esp + 0x19c]
fucompp
fnstsw ax
sahf
je 0x49ae8d
fld dword [0x64ed8c]
fmul dword [0x6a3ca0]
fmul dword [0x64ecbc]
fld dword [esp + 0x19c]
fmul dword [esp + 0x1b4]
fdivp st(1)
fld dword [esp + 0x1a4]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
jb 0x49a3bc
fstp dword [esp + 0x184]
jmp 0x49a3c5
fstp st(0)
fst dword [esp + 0x184]
fstp st(0)
mov eax, dword [esp + 0x184]
mov dword [esp + 0x1a4], eax
jmp 0x49ae8d
mov eax, dword [0x6a41f4]
mov dword [esp + 0x144], eax
mov eax, dword [0x6a3c30]
mov dword [esp + 0x14c], eax
mov eax, dword [0x64f1b4]
mov dword [esp + 0x100], eax
mov ebp, dword [esp + 0x1e0]
mov edi, dword [esp + 0x1e4]
lea esi, [esp + 0x100]
lea ebx, [esp + 0x110]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x13c], ecx
test ecx, ecx
je 0x49a51e
mov edx, dword [esp + 0x13c]
fld dword [ebp + edx*4 + 0x50]
fst dword [esp + 0x140]
fstp dword [esp + 0x110]
mov eax, dword [0x64f3c8]
test eax, eax
jne 0x49a491
fld dword [0x6a3c30]
fld dword [esp + 0x140]
fucompp
fnstsw ax
sahf
jne 0x49a491
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
call fcn.00420280
fld dword [0x64ec8c]
fld dword [esp + 0x110]
fucomp st(1)
fnstsw ax
sahf
jae 0x49a4b0
fst dword [esp + 0x110]
fstp st(0)
fld dword [esp + 0x110]
fld dword [esp + 0x144]
fucomp st(1)
fnstsw ax
sahf
jbe 0x49a4d2
fst dword [esp + 0x144]
fstp st(0)
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x148], ecx
fld dword [ebp + ecx*4 + 0x48]
fst dword [esp + 0x128]
fld dword [esp + 0x14c]
fucomp st(1)
fnstsw ax
sahf
jae 0x49a506
fst dword [esp + 0x14c]
fstp st(0)
mov edx, dword [esp + 0x148]
mov eax, dword [edi + edx*4]
mov dword [esp + 0x100], eax
jmp 0x49a428
mov eax, dword [0x6a41f4]
mov dword [esp + 0x138], eax
mov ecx, dword [0x64f1c8]
mov dword [0x64f1c4], ecx
mov esi, dword [case.0x407d9a.10]
mov ebx, ebp
mov ebp, ecx
nop
nop
nop
nop
nop
nop
nop
test ebp, ebp
je 0x49a590
cmp ebp, esi
je 0x49a58b
mov edx, dword [edi + ebp*4 + 0x14]
cmp edx, 1
je 0x49a58b
fld dword [ebx + ebp*4 + 4]
fst dword [esp + 0x134]
fld dword [esp + 0x138]
fucomp st(1)
fnstsw ax
sahf
jbe 0x49a589
fst dword [esp + 0x138]
fstp st(0)
mov ebp, dword [edi + ebp*4]
jmp 0x49a548
mov dword [0x64f1c4], ebp
fld dword [0x6a3c30]
fld dword [esp + 0x144]
fucompp
fnstsw ax
sahf
je case.0x49a1e5.1
fld dword [0x6a3c30]
fld dword [esp + 0x14c]
fucompp
fnstsw ax
sahf
je case.0x49a1e5.1
mov ecx, dword [esp + 0x14c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x178]
mov dword [esp + 4], ecx
call fcn.00646358
fmul dword [esp + 0x170]
fdiv dword [esp + 0x144]
fstp dword [esp + 0x1b0]
mov ecx, dword [esp + 0x14c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x178]
mov dword [esp + 4], ecx
call fcn.00646358
fmul dword [esp + 0x174]
fdiv dword [esp + 0x144]
fst dword [esp + 0x1b4]
fld dword [esp + 0x168]
fld dword [esp + 0x1b0]
fucom st(1)
fxch st(2)
fnstsw ax
sahf
ja 0x49a64d
fxch st(1)
fstp dword [esp + 0x184]
jmp 0x49a65a
fstp st(1)
fxch st(1)
fst dword [esp + 0x184]
fxch st(1)
fstp st(1)
fld dword [esp + 0x184]
fst dword [esp + 0x1b0]
fld dword [esp + 0x16c]
fxch st(2)
fucom st(2)
fnstsw ax
sahf
ja 0x49a68e
fxch st(2)
fstp dword [esp + 0x184]
fxch st(1)
jmp 0x49a699
fstp st(2)
fxch st(1)
fst dword [esp + 0x184]
fstp st(0)
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x1b4], ecx
fld dword [0x6a3c30]
fucompp
fnstsw ax
sahf
je case.0x49a1e5.1
mov ebp, dword [0x64f560]
test ebp, ebp
fld dword [0x6a3c30]
je 0x49a6e8
fld dword [esp + 0x1b4]
fucomp st(1)
fnstsw ax
sahf
fstp dword [esp + 0x48]
je case.0x49a1e5.1
fld dword [esp + 0x48]
fld dword [0x64ed8c]
fmul dword [0x6a4410]
fmul dword [esp + 0x138]
fld dword [esp + 0x1a8]
fmul dword [esp + 0x1b0]
fdivp st(1)
fstp dword [esp + 0x1a4]
fld dword [esp + 0x19c]
fucompp
fnstsw ax
sahf
je 0x49ae8d
test ebp, ebp
je 0x49ae8d
fld dword [0x64ed8c]
fmul dword [0x6a4410]
fmul dword [esp + 0x138]
fld dword [esp + 0x19c]
fmul dword [esp + 0x1b4]
fdivp st(1)
fld dword [esp + 0x1a4]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
jb 0x49a76f
fstp dword [esp + 0x184]
jmp 0x49a778
fstp st(0)
fst dword [esp + 0x184]
fstp st(0)
mov eax, dword [esp + 0x184]
mov dword [esp + 0x1a4], eax
jmp 0x49ae8d
mov eax, dword [0x6a41f4]
mov dword [esp + 0x1a4], eax
mov eax, dword [0x64f1c8]
mov dword [0x64f1c4], eax
mov esi, dword [esp + 0x1e4]
mov edi, dword [esp + 0x1e0]
nop
nop
nop
nop
mov ebp, dword [0x64f1c4]
test ebp, ebp
je 0x49ae8d
mov ecx, dword [case.0x407d9a.10]
cmp ecx, ebp
je 0x49ae79
mov edx, dword [esi + ebp*4 + 0x14]
cmp edx, 1
je 0x49ae79
mov ecx, dword [edi + ebp*4 + 0x28]
mov dword [esp + 0x194], ecx
mov ecx, dword [esi + ebp*4 + 0x18]
mov edx, dword [edi + ecx*4 + 4]
mov dword [esp + 0x188], edx
mov ecx, dword [edi + ebp*4 + 0x30]
mov dword [esp + 0x18c], ecx
mov dword [esp], edi
mov dword [esp + 4], esi
lea edx, [esp + 0x18c]
mov dword [esp + 8], edx
lea ecx, [esp + 0x188]
mov dword [esp + 0xc], ecx
lea edx, [0x64f1c4]
mov dword [esp + 0x10], edx
call fcn.00491478
fabs
fst dword [esp + 0x190]
fld dword [0x64ec6c]
fucom st(1)
fnstsw ax
sahf
ja 0x49a85a
fxch st(1)
fstp dword [esp + 0x184]
jmp 0x49a863
fstp st(1)
fst dword [esp + 0x184]
fld dword [0x64ed8c]
fmul dword [0x6a3ca0]
fdiv dword [esp + 0x184]
fstp dword [esp + 0x198]
mov eax, dword [0x64f4e4]
test eax, eax
fld dword [0x64ec68]
fxch st(1)
je 0x49a8d9
fld st(1)
fmul dword [esp + 0x194]
fucom st(1)
fxch st(2)
fxch st(1)
fnstsw ax
sahf
ja 0x49a8b7
fst dword [esp + 0x184]
jmp 0x49a8c2
fxch st(2)
fst dword [esp + 0x184]
fxch st(2)
fstp st(2)
mov eax, dword [esp + 0x184]
mov dword [esp + 0x19c], eax
fxch st(1)
jmp 0x49a90d
fxch st(1)
fucom st(1)
fxch st(1)
fnstsw ax
sahf
ja 0x49a8f4
fst dword [esp + 0x184]
jmp 0x49a8ff
fxch st(1)
fst dword [esp + 0x184]
fxch st(1)
mov eax, dword [esp + 0x184]
mov dword [esp + 0x19c], eax
fstp st(1)
fstp st(0)
fld dword [0x64ed8c]
fmul dword [0x6a3ca0]
fdiv dword [esp + 0x19c]
fstp dword [esp + 0x1a0]
fld dword [0x6a3c30]
fst dword [esp + 0x12c]
fstp dword [esp + 0x130]
mov ecx, dword [0x64f1c4]
mov ebp, dword [esi + ecx*4 + 0x10]
mov dword [esp + 0x100], ebp
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x100]
mov edx, dword [esi + ebx*4 - 4]
cmp edx, 4
je 0x49adae
mov eax, dword [esi + ebx*4 + 0x1c]
mov dword [esp + 0x104], eax
mov ecx, dword [esi + ebx*4 + 0x20]
mov dword [esp + 0x108], ecx
fld dword [edi + ebx*4 + 0x50]
fst dword [esp + 0x10c]
fstp dword [esp + 0x110]
mov edx, dword [0x64f3c8]
test edx, edx
jne 0x49a9dc
fld dword [0x6a3c30]
fld dword [esp + 0x10c]
fucompp
fnstsw ax
sahf
jne 0x49a9dc
mov dword [esp], edi
mov dword [esp + 4], esi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
lea ecx, [esp + 0x110]
mov dword [esp + 0xc], ecx
call fcn.00420280
mov edx, dword [esp + 0x104]
test edx, edx
jle 0x49aa6e
mov eax, dword [esp + 0x108]
cmp eax, 1
jne 0x49aa21
mov ecx, dword [esp + 0x104]
mov eax, dword [ecx*4 + 0x65f42c]
mov dword [0x64b1d8], eax
mov eax, dword [ecx*4 + 0x65f4f4]
mov dword [0x64b208], eax
jmp 0x49ac32
mov edx, dword [esp + 0x104]
mov eax, dword [edx*4 + 0x65f5bc]
mov dword [0x64b1d8], eax
mov eax, dword [edx*4 + 0x65f684]
mov dword [0x64b208], eax
mov eax, dword [edx*4 + 0x65eb94]
mov dword [0x64b1d0], eax
mov eax, dword [edx*4 + 0x65eacc]
mov dword [0x64b1d4], eax
mov eax, dword [edx*4 + 0x65eeb4]
mov dword [0x64b1dc], eax
jmp 0x49ac32
mov eax, dword [esp + 0x100]
mov ebx, dword [esi + eax*4 + 0x78]
mov dword [0x64b1b8], ebx
test ebx, ebx
je 0x49ac32
mov ecx, 4
mov dword [0x64b1bc], ecx
mov edx, dword [esi + ebx*4 - 4]
mov dword [esp + 0x114], edx
mov eax, ebx
inc eax
mov dword [esp + 0x118], eax
test edx, edx
je 0x49ac27
lea ecx, [esp + 0x114]
mov dword [esp], ecx
call fcn.00601d60
test eax, eax
je 0x49aaea
mov dword [esp], edi
mov dword [esp + 4], esi
mov edx, dword [esp + 0x118]
shl edx, 2
add edx, esi
lea eax, [edx - 4]
mov dword [esp + 8], eax
call fcn.00413890
jmp 0x49ac27
mov ebx, dword [esp + 0x114]
cmp ebx, 1
jne 0x49ab1e
mov dword [esp], edi
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x118]
shl ecx, 2
add ecx, edi
lea edx, [ecx - 4]
mov dword [esp + 8], edx
call fcn.00447798
jmp 0x49ac27
cmp ebx, 2
jne 0x49ab4b
mov dword [esp], edi
mov dword [esp + 4], esi
mov eax, dword [esp + 0x118]
shl eax, 2
add eax, edi
lea ecx, [eax - 4]
mov dword [esp + 8], ecx
call fcn.0044c078
jmp 0x49ac27
cmp ebx, 3
jne 0x49ab78
mov dword [esp], edi
mov dword [esp + 4], esi
mov edx, dword [esp + 0x118]
shl edx, 2
add edx, edi
lea eax, [edx - 4]
mov dword [esp + 8], eax
call fcn.0044d748
jmp 0x49ac27
cmp ebx, 4
jne 0x49aba5
mov dword [esp], edi
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x118]
shl ecx, 2
add ecx, edi
lea edx, [ecx - 4]
mov dword [esp + 8], edx
call fcn.0044d748
jmp 0x49ac27
cmp ebx, 5
jne 0x49abd2
mov dword [esp], edi
mov dword [esp + 4], esi
mov eax, dword [esp + 0x118]
shl eax, 2
add eax, edi
lea ecx, [eax - 4]
mov dword [esp + 8], ecx
call fcn.0044cb38
jmp 0x49ac27
cmp ebx, 7
jne 0x49abff
mov dword [esp], edi
mov dword [esp + 4], esi
mov edx, dword [esp + 0x118]
shl edx, 2
add edx, edi
lea eax, [edx - 4]
mov dword [esp + 8], eax
call fcn.00454500
jmp 0x49ac27
cmp ebx, 8
jne 0x49ac27
mov dword [esp], edi
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x118]
shl ecx, 2
add ecx, edi
lea edx, [ecx - 4]
mov dword [esp + 8], edx
call fcn.0044d748
mov eax, 2
mov dword [0x64b1bc], eax
mov ecx, dword [0x64f594]
test ecx, ecx
jle 0x49ac88
mov edx, dword [esp + 0x104]
sar edx, 0x1f
mov eax, edx
xor eax, dword [esp + 0x104]
sub eax, edx
mov dword [esp + 0x11c], eax
mov dword [esp], edi
mov dword [esp + 4], esi
lea ecx, [esp + 0x100]
mov dword [esp + 8], ecx
lea edx, [esp + 0x11c]
mov dword [esp + 0xc], edx
lea eax, [0x64b1d8]
mov dword [esp + 0x10], eax
call fcn.0049c6c8
mov ecx, dword [esp + 0x108]
cmp ecx, 1
jne 0x49acb7
mov eax, dword [0x64b1d8]
mov dword [esp + 0x120], eax
mov eax, dword [0x64b208]
mov dword [esp + 0x124], eax
jmp 0x49ad84
mov edx, dword [esp + 0x100]
mov ecx, dword [edi + edx*4 + 0x48]
mov dword [esp + 0x128], ecx
fld dword [0x64ec8c]
fld dword [esp + 0x110]
fucomp st(1)
fnstsw ax
sahf
jae 0x49ace8
fst dword [esp + 0x110]
fstp st(0)
fld dword [0x6a3c30]
fld dword [esp + 0x110]
fucompp
fnstsw ax
sahf
je case.0x49a1e5.1
fld dword [0x6a3c30]
fld dword [esp + 0x128]
fucompp
fnstsw ax
sahf
je case.0x49a1e5.1
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov eax, dword [0x64b1d0]
mov dword [esp + 4], eax
call fcn.00646358
fld dword [0x64b1d4]
fmul dword [0x64b1d8]
fmulp st(1)
fdiv dword [esp + 0x110]
fstp dword [esp + 0x120]
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov eax, dword [0x64b1d0]
mov dword [esp + 4], eax
call fcn.00646358
fld dword [0x64b1d4]
fmul dword [0x64b208]
fmulp st(1)
fdiv dword [esp + 0x110]
fstp dword [esp + 0x124]
fld dword [esp + 0x12c]
fadd dword [esp + 0x120]
fstp dword [esp + 0x12c]
fld dword [esp + 0x130]
fadd dword [esp + 0x124]
fstp dword [esp + 0x130]
mov dword [esp], edi
mov dword [esp + 4], esi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.0041cd80
mov ecx, dword [esp + 0x100]
cmp ecx, ebp
jne 0x49a958
mov edx, dword [0x64f1c4]
mov ecx, dword [edi + edx*4 + 4]
mov dword [esp + 0x134], ecx
fld dword [0x6a3c30]
fld dword [esp + 0x12c]
fucompp
fnstsw ax
sahf
jbe case.0x49a1e5.1
fld dword [esp + 0x198]
fmul dword [esp + 0x134]
fdiv dword [esp + 0x12c]
fld dword [esp + 0x1a4]
fucomp st(1)
fnstsw ax
sahf
jbe 0x49ae2f
fst dword [esp + 0x1a4]
fstp st(0)
fld dword [0x6a3c30]
fld dword [esp + 0x130]
fucompp
fnstsw ax
sahf
jbe case.0x49a1e5.1
fld dword [esp + 0x1a0]
fmul dword [esp + 0x134]
fdiv dword [esp + 0x130]
fld dword [esp + 0x1a4]
fucomp st(1)
fnstsw ax
sahf
jbe 0x49ae77
fst dword [esp + 0x1a4]
fstp st(0)
mov eax, dword [0x64f1c4]
mov ecx, dword [esi + eax*4]
mov dword [0x64f1c4], ecx
jmp 0x49a7b8
fld dword [0x64eec8]
fst dword [esp + 0x1b8]
fld dword [0x6a3c30]
fucomp st(1)
fnstsw ax
sahf
fld dword [esp + 0x1a4]
fxch st(1)
mov ebp, dword [esp + 0x1ec]
jne 0x49aec7
fxch st(1)
fst dword [ebp]
fxch st(1)
jmp 0x49af10
fld st(0)
fmul dword [0x6a4414]
fucomp st(2)
fnstsw ax
sahf
jb 0x49aee6
fxch st(1)
fst dword [ebp]
fxch st(1)
jmp 0x49af10
fld st(0)
fmul dword [0x6a4418]
fxch st(2)
fucom st(2)
fxch st(1)
fnstsw ax
sahf
jb 0x49af09
fxch st(2)
fstp dword [ebp]
fxch st(1)
jmp 0x49af10
fstp st(2)
fxch st(1)
fst dword [ebp]
fstp st(1)
fstp st(0)
mov edx, dword [0x64c29c]
test edx, edx
je 0x49aff9
mov eax, dword [0x64f3c4]
cmp eax, 1
jle 0x49af46
fld dword [ebp]
fld dword [esp + 0x1b8]
fucompp
fnstsw ax
sahf
je 0x49aff9
mov ecx, 0xc
lea edi, [0x64ce18]
mov dword [0x64ce30], ecx
lea edx, [0x6a441c]
mov dword [0x64ceac], edx
mov eax, 0x4000208
mov dword [0x64ce18], eax
mov ecx, 8
mov dword [0x64ce1c], ecx
mov dword [esp], edi
call fcn.0063d0a0
mov edx, 1
mov dword [0x64ce28], edx
mov eax, 7
mov dword [0x64ce24], eax
mov ecx, 4
mov dword [0x64ce20], ecx
mov dword [esp], edi
lea edx, [0x64f3c8]
mov dword [esp + 4], edx
call fcn.0063d590
mov dword [esp], edi
lea eax, [esp + 0x1ac]
mov dword [esp + 4], eax
call fcn.0063d590
mov ecx, 9
mov dword [0x64ce24], ecx
mov dword [esp], edi
lea edx, [esp + 0x1a4]
mov dword [esp + 4], edx
call fcn.0063d590
mov dword [esp], edi
mov dword [esp + 4], ebp
call fcn.0063d590
mov dword [esp], edi
call fcn.0063e1f0
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
add esp, 0x1dc
ret