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

Disassembly:
mov edi, 2
jmp 0x65188d
push 0xffffffffffffffff
push 0x8432f8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28c
mov edx, dword [esp + 0x29c]
push ebx
mov ebx, ecx
mov eax, dword [ebx + 0x14]
test eax, eax
push ebp
push esi
push edi
mov dword [esp + 0x18], ebx
mov byte [esp + 0x5b], 0
jne 0x651407
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x20]
lea eax, [edx + 0x44]
mov dword [eax], ecx
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
mov esi, dword [esp + 0x2b0]
mov ecx, dword [esi + 0x14]
fld dword [ecx + 0x28]
fcomp dword [0x858c9c]
fnstsw ax
test ah, 0x41
jp 0x651468
mov eax, dword [ebx + 0x18]
cmp eax, 8
mov byte [esp + 0x5b], 1
je 0x651445
cmp eax, 9
je 0x651445
test ecx, ecx
je 0x6514a9
fld dword [ecx + 0x14]
fld dword [ecx + 0x10]
fchs
fxch st(1)
fpatan
jmp 0x6514ac
test ecx, ecx
je 0x65145d
fld dword [ecx + 0x14]
fld dword [ecx + 0x10]
fchs
fxch st(1)
fpatan
fsub dword [0x858cb8]
jmp 0x6514ac
fld dword [esi + 0x10]
fsub dword [0x858cb8]
jmp 0x6514ac
cmp dword [ebx + 0x18], 0x12
jne 0x651491
test ecx, ecx
je 0x651486
fld dword [ecx + 0x14]
fld dword [ecx + 0x10]
fchs
fxch st(1)
fpatan
fadd dword [0x858cb8]
jmp 0x6514ac
fld dword [esi + 0x10]
fadd dword [0x858cb8]
jmp 0x6514ac
cmp dword [ebx + 0x14], 2
je 0x6514b2
test ecx, ecx
je 0x6514a9
fld dword [ecx + 0x14]
fld dword [ecx + 0x10]
fchs
fxch st(1)
fpatan
jmp 0x6514ac
fld dword [esi + 0x10]
fstp dword [edx + 0x55c]
mov ebp, dword [esp + 0x2b4]
test ebp, ebp
mov dword [esp + 0x3c], 0
mov dword [esp + 0x14], 0
je case.default.0x65176c
movsx edi, word [ebp + 0x2c]
mov eax, edi
cmp eax, 0x178
jg 0x651757
cmp eax, 0x175
jge case.0x65176c.378
cmp eax, 0x16b
jg 0x65173b
cmp eax, 0x167
jge 0x65166d
sub eax, 0x6c
cmp eax, 0xfa
ja case.default.0x65176c
movzx edx, byte [eax + 0x6527c0]
jmp dword [edx*4 + 0x6527b0]
mov eax, dword [esi + 0x384]
movzx ecx, byte [eax + 0xde]
push edi
push ecx
mov dword [esp + 0x44], 0x3f800000
call fcn.0064e4b0
add esp, 8
fld st(0)
fabs
fst dword [esp + 0x10]
fcomp dword [0x85862c]
fnstsw ax
test ah, 5
jp 0x65155f
fstp st(0)
mov dword [esp + 0x14], 0
jmp 0x6515dd
fsub dword [0x858fbc]
mov edx, dword [ebp + 0x14]
fld dword [esp + 0x10]
fsub dword [0x858fbc]
fstp dword [esp + 0x10]
fld dword [ebp + 0x20]
fld dword [edx + 0x10]
fxch st(1)
fdiv st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fcomp dword [0x858b50]
fld dword [esp + 0x1c]
fnstsw ax
fcomp dword [esp + 0x10]
test ah, 0x41
fnstsw ax
jne 0x6515b6
test ah, 5
jp 0x6515ac
fld dword [esp + 0x1c]
fdiv dword [esp + 0x10]
jmp 0x6515d9
mov dword [esp + 0x14], 0x3f800000
jmp 0x6515dd
test ah, 5
jp 0x6515c5
mov dword [esp + 0x14], 0
jmp 0x6515dd
fld dword [esp + 0x1c]
fsub dword [esp + 0x10]
fld dword [0x858624]
fsub dword [esp + 0x10]
fdivp st(1)
fstp dword [esp + 0x14]
cmp word [esi + 0x22], 0x241
jne case.default.0x65176c
mov dword [esp + 0x14], 0x3f800000
jmp case.default.0x65176c
mov eax, dword [esi + 0x384]
movzx ecx, byte [eax + 0xde]
push edi
push ecx
mov dword [esp + 0x44], 0x3f800000
call fcn.0064e4b0
add esp, 8
fabs
fcomp dword [0x85862c]
mov dword [esp + 0x14], 0
fnstsw ax
test ah, 5
jnp 0x651634
mov dword [esp + 0x14], 0x3f800000
cmp word [esi + 0x22], 0x241
jne case.default.0x65176c
mov dword [esp + 0x14], 0x3f800000
jmp case.default.0x65176c
mov edx, dword [ebp + 0x14]
fld dword [ebp + 0x20]
fld dword [edx + 0x10]
mov dword [esp + 0x14], 0
fxch st(1)
fdiv st(1)
fstp dword [esp + 0x3c]
fstp st(0)
jmp case.default.0x65176c
mov eax, dword [ebp + 0x14]
fld dword [ebp + 0x20]
fld dword [eax + 0x10]
mov ecx, dword [esi + 0x384]
fxch st(1)
movzx edx, byte [ecx + 0xde]
fdiv st(1)
push edi
push edx
fsubr dword [0x858624]
fstp dword [esp + 0x44]
fstp st(0)
call fcn.0064e4b0
fld st(0)
add esp, 8
fabs
fst dword [esp + 0x10]
fcomp dword [0x85862c]
fnstsw ax
test ah, 5
jp 0x651718
mov eax, dword [ebp + 0x14]
fld dword [ebp + 0x20]
fld dword [eax + 0x10]
fxch st(1)
fdiv st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fcomp dword [0x858b50]
fld dword [esp + 0x1c]
fnstsw ax
fcomp dword [esp + 0x10]
test ah, 0x41
fnstsw ax
jne 0x6516ef
test ah, 5
jp 0x65171a
fld dword [esp + 0x1c]
fdiv dword [esp + 0x10]
fstp dword [esp + 0x14]
jmp 0x651722
test ah, 5
jp 0x6516fe
mov dword [esp + 0x14], 0
jmp 0x651722
fld dword [esp + 0x1c]
fsub dword [esp + 0x10]
fld dword [0x858624]
fsub dword [esp + 0x10]
fdivp st(1)
fstp dword [esp + 0x14]
jmp 0x651722
fstp st(0)
mov dword [esp + 0x14], 0x3f800000
cmp word [esi + 0x22], 0x241
jne case.default.0x65176c
mov dword [esp + 0x14], 0x3f800000
jmp case.default.0x65176c
sub eax, 0x16c
cmp eax, 8
ja case.default.0x65176c
movzx ecx, byte [eax + 0x6528c4]
jmp dword [ecx*4 + 0x6528bc]
sub eax, 0x17a
cmp eax, 0xc
ja case.default.0x65176c
movzx edx, byte [eax + 0x6528e0]
jmp dword [edx*4 + 0x6528d0]
mov dword [esp + 0x3c], 0x3f800000
mov dword [esp + 0x14], 0
jmp case.default.0x65176c
mov eax, dword [esi + 0x384]
movzx ecx, byte [eax + 0xde]
imul ecx, ecx, 0x94
mov edx, dword [ecx + 0xc1cdc8]
shr edx, 5
test dl, 1
mov dword [esp + 0x3c], 0x3f800000
je 0x65177b
mov dword [esp + 0x14], 0x3f800000
jmp case.default.0x65176c
mov dword [esp + 0x3c], 0
mov dword [esp + 0x14], 0x3f800000
jmp case.default.0x65176c
mov eax, dword [ebp + 0x14]
fld dword [ebp + 0x20]
fld dword [eax + 0x10]
mov ecx, dword [esi + 0x384]
movzx eax, byte [ecx + 0xde]
fxch st(1)
fdiv st(1)
imul eax, eax, 0x94
lea ebx, [eax + 0xc1cdc0]
push edi
mov ecx, ebx
fstp dword [esp + 0x40]
fstp st(0)
call fcn.006e3b00
push edi
mov ecx, ebx
call fcn.006e3c80
fld st(0)
mov edx, dword [ebp + 0x14]
fabs
fstp dword [esp + 0x10]
fld dword [ebp + 0x20]
mov ebx, dword [esp + 0x18]
fld dword [edx + 0x10]
fxch st(1)
fdiv st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fcomp dword [0x858b50]
fld dword [esp + 0x1c]
fnstsw ax
fcomp dword [esp + 0x10]
test ah, 0x41
fnstsw ax
jne 0x651858
test ah, 5
jp 0x65177b
fld dword [esp + 0x1c]
fdiv dword [esp + 0x10]
jmp 0x65187b
test ah, 5
jp 0x651867
mov dword [esp + 0x14], 0x3f800000
jmp case.default.0x65176c
fld dword [esp + 0x1c]
fsub dword [esp + 0x10]
fld dword [0x858624]
fsub dword [esp + 0x10]
fdivp st(1)
fsubr dword [0x858624]
fstp dword [esp + 0x14]
mov eax, dword [ebx + 0x14]
jmp 0x406b07
cmp eax, edi
jne 0x6518a9
mov ecx, dword [esp + 0x2ac]
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x6518a4
add eax, 0x30
jmp 0x6518bc
lea eax, [ecx + 4]
jmp 0x6518bc
mov eax, dword [esp + 0x3c]
push ebp
push eax
push esi
lea ecx, [esp + 0x68]
push ecx
mov ecx, ebx
call fcn.00650a80
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x48], eax
mov dword [esp + 0x54], eax
cmp dword [esi + 0x590], 9
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
je 0x651911
cmp dword [ebx + 0x14], edi
je 0x651911
push ebp
push 0x3f800000
push esi
lea edx, [esp + 0x68]
push edx
mov ecx, ebx
call fcn.00650a80
mov ecx, dword [eax]
mov dword [esp + 0x4c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x50], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x40]
test ah, 1
jne 0x651a1b
mov eax, dword [esi + 0x14]
test eax, eax
je 0x651944
mov ecx, eax
mov edx, dword [ecx]
mov dword [esp + 0x20], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x24], edx
fld dword [esp + 0x24]
mov dword [esp + 0x28], ecx
fld dword [esp + 0x28]
jmp 0x651962
mov edx, dword [esi + 0x10]
fld dword [esi + 0x10]
fcos
mov dword [esp + 0x18], edx
fld dword [esp + 0x18]
fsin
fxch st(1)
fstp dword [esp + 0x20]
fld dword [0x858b50]
test eax, eax
lea ecx, [eax + 0x30]
jne 0x65196c
lea ecx, [esi + 4]
test eax, eax
fld dword [esp + 0x54]
fsub dword [ecx + 8]
lea edi, [eax + 0x30]
fld dword [esp + 0x50]
fsub dword [ecx + 4]
fld dword [esp + 0x4c]
fsub dword [ecx]
fxch st(3)
fmul st(2)
fxch st(4)
fmul st(1)
faddp st(4)
fxch st(2)
fmul dword [esp + 0x20]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x18]
fxch st(1)
fstp st(1)
fstp st(0)
jne 0x651a05
lea edi, [esi + 4]
mov dword [esp + 0x28], 0
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xd4]
fsubr dword [edi + 8]
fld dword [esp + 0x28]
mov eax, dword [esp + 0x54]
fmul dword [esp + 0x18]
lea ecx, [esp + 0x4c]
push ecx
mov dword [esp + 0x20], eax
faddp st(1)
fadd dword [0x858624]
fstp dword [esp + 0x1c]
call fcn.00616920
fld dword [esp + 0x1c]
add esp, 4
fsub dword [0x858b8c]
fcomp dword [esp + 0x54]
fnstsw ax
test ah, 0x41
jne 0x651a3d
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x54], edx
jmp 0x651a3d
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
jmp 0x6519b0
cmp dword [esi + 0x590], 5
jne 0x651a3d
mov ecx, esi
call fcn.006d1d90
test al, al
je 0x651a3d
fld dword [esp + 0x54]
fadd dword [0x858624]
fstp dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 0x14]
cmp eax, 1
je 0x651a55
cmp eax, 2
jne 0x651ae1
mov edx, dword [esp + 0x2ac]
mov ecx, dword [edx + 0x14]
test ecx, ecx
lea eax, [ecx + 0x30]
jne 0x651a69
lea eax, [edx + 4]
fld dword [eax + 8]
fld dword [0xb7cb5c]
fmul dword [0x863984]
fsubr dword [edx + 0x4c]
fst dword [esp + 0x18]
fadd st(1)
fcomp dword [esp + 0x54]
fnstsw ax
fstp st(0)
test ah, 5
jp 0x651ac7
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x20]
lea eax, [edx + 0x44]
mov dword [eax], ecx
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
jmp 0x651ae8
test ecx, ecx
mov eax, dword [esp + 0x18]
mov dword [edx + 0x4c], eax
lea eax, [ecx + 0x30]
jne 0x651ad8
lea eax, [edx + 4]
mov ecx, dword [eax + 8]
mov dword [esp + 0x48], ecx
jmp 0x651ae8
mov edx, dword [esp + 0x2ac]
fld dword [ebx + 0xc]
fcomp dword [esp + 0x48]
fnstsw ax
test ah, 0x41
jne 0x651bd1
cmp dword [esi + 0x590], 9
jne 0x651bd8
test ebp, ebp
je 0x651bd8
mov ax, word [ebp + 0x2c]
cmp ax, 0x16b
je 0x651bd8
cmp ax, 0x175
je 0x651b93
cmp ax, 0x176
je 0x651b93
cmp ax, 0x177
je 0x651b93
cmp ax, 0x178
je 0x651b93
cmp ax, 0x167
je 0x651b57
cmp ax, 0x168
je 0x651b57
cmp ax, 0x169
je 0x651b57
cmp ax, 0x16a
je 0x651b57
mov dword [esp + 0x18], 0
jmp 0x651ba1
mov ecx, dword [ebp + 0x14]
fld dword [ebp + 0x20]
fld dword [ecx + 0x10]
fxch st(1)
fdiv st(1)
fadd st(0), st(0)
fld dword [0x858624]
fcompp
fnstsw ax
fstp st(0)
test ah, 5
jp 0x651b81
mov dword [esp + 0x18], 0x3f800000
jmp 0x651ba1
fld dword [ecx + 0x10]
fld dword [ebp + 0x20]
fdiv st(1)
fadd st(0), st(0)
fstp dword [esp + 0x18]
fstp st(0)
jmp 0x651ba1
fld dword [0x858624]
fsub dword [esp + 0x3c]
fstp dword [esp + 0x18]
mov eax, dword [esi + 0x14]
test eax, eax
lea edi, [eax + 0x30]
jne 0x651bae
lea edi, [esi + 4]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xd4]
fsubr dword [edi + 8]
mov edx, dword [esp + 0x2ac]
fadd dword [0x858624]
fsub dword [ebx + 0xc]
fmul dword [esp + 0x18]
jmp 0x651be3
mov eax, dword [ebx + 0x14]
test eax, eax
jne 0x651bea
fld dword [esp + 0x48]
fsub dword [ebx + 0xc]
fmul dword [esp + 0x14]
fadd dword [ebx + 0xc]
fstp dword [esp + 0x48]
mov eax, dword [0xb7cb84]
cmp eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x2ac]
jae 0x651d09
mov ecx, dword [edi + 0x55c]
push ecx
call fcn.0053cb50
mov eax, dword [ebx + 0x10]
mov ecx, dword [0xb7cb84]
mov edx, dword [edi + 0x558]
sub eax, ecx
add esp, 4
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
mov dword [esp + 0x18], edx
jge 0x651c35
fadd dword [0x858c54]
fmul dword [0x865060]
fcom dword [0x858b50]
fnstsw ax
test ah, 0x41
jp 0x651c55
mov dword [ebx], 0
mov dword [ebx + 4], 0
fld dword [0x858b50]
mov dword [ebx + 8], 0
fmul st(1)
fld st(1)
fmul dword [ebx + 4]
fstp dword [esp + 0x1c]
fld st(1)
fmul dword [ebx]
fstp dword [esp + 0x5c]
fsubr dword [esp + 0x48]
fld dword [esp + 0x44]
fsub dword [esp + 0x1c]
fld dword [esp + 0x40]
fsub dword [esp + 0x5c]
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x40], ecx
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x44], edx
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x28]
fld dword [esp + 0x18]
mov dword [esp + 0x48], eax
fadd dword [0x858cb8]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x651cca
fxch st(1)
fsub dword [0x858cbc]
jmp 0x651ce5
fld dword [esp + 0x18]
fsub dword [0x858cb8]
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x651ce7
fxch st(1)
fadd dword [0x858cbc]
fxch st(1)
fld dword [esp + 0x18]
fsubrp st(2)
fld dword [0x858624]
fsub st(1)
fmulp st(2)
fstp st(0)
fld dword [esp + 0x18]
fsub st(1)
fstp dword [edi + 0x558]
fstp st(0)
jmp 0x651d15
mov ecx, dword [edx + 0x55c]
mov dword [edx + 0x558], ecx
test ebp, ebp
je 0x652640
mov ax, word [ebp + 0x2c]
cmp ax, 0x167
je 0x651d43
cmp ax, 0x168
je 0x651d43
cmp ax, 0x169
je 0x651d43
cmp ax, 0x16a
je 0x651d43
cmp ax, 0x16b
jne 0x6521d0
mov esi, dword [esi + 0x14]
push esi
lea ecx, [esp + 0x190]
call fcn.0059bcf0
xor esi, esi
cmp word [ebp + 0x2c], 0x16b
mov dword [esp + 0x2a4], esi
jne 0x651db3
mov dword [esp + 0x184], esi
mov dword [esp + 0x188], esi
push 0x40490fdb
lea ecx, [esp + 0x148]
mov byte [esp + 0x2a8], 1
call fcn.0059b0e0
lea edx, [esp + 0x144]
push edx
lea ecx, [esp + 0x190]
call fcn.00411a80
lea ecx, [esp + 0x144]
mov byte [esp + 0x2a4], 0
call fcn.0059acd0
lea eax, [esp + 0x21c]
push eax
lea ecx, [esp + 0x190]
call fcn.0059b8b0
lea ecx, [esp + 0x21c]
push ecx
lea edx, [esp + 0x7c]
push edx
call fcn.007eb5c0
mov eax, dword [edi + 0x14]
add esp, 8
push eax
lea ecx, [esp + 0x1d8]
call fcn.0059bcf0
lea eax, [esp + 0x25c]
push eax
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x2a8], 2
call fcn.0059b8b0
lea ecx, [esp + 0x25c]
push ecx
lea edx, [esp + 0x6c]
push edx
call fcn.007eb5c0
fld dword [ebp + 0x20]
mov eax, dword [ebp + 0x14]
fld dword [eax + 0x10]
lea ecx, [esp + 0x9c]
fxch st(1)
push ecx
fdiv st(1)
lea edx, [esp + 0x84]
push edx
lea eax, [esp + 0x78]
push eax
fstp dword [esp + 0x24]
fstp st(0)
call fcn.007ec220
fld dword [esp + 0x24]
add esp, 0x14
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jp 0x651e80
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
jmp 0x651fd7
fld dword [0x858624]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x651ebc
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
jmp 0x651fd7
fld dword [0x858624]
mov eax, dword [esp + 0xb8]
cmp eax, esi
fsub dword [esp + 0x10]
fld dword [esp + 0x10]
jne 0x651f69
fstp st(0)
fmul dword [esp + 0xb4]
fld st(0)
fmul st(1)
fld st(0)
fmul st(2)
fld st(1)
fmul dword [0x86d2b0]
fsub dword [0x86d2ac]
fmul st(2)
fadd dword [0x86d2a8]
fmul st(2)
fsub dword [0x86d2a4]
fmul st(2)
fadd dword [0x864e0c]
fmul st(2)
fsub dword [0x85f0a0]
fmul st(1)
faddp st(3)
fstp st(0)
fstp st(0)
fld dword [esp + 0xb4]
fmul dword [esp + 0x10]
fld st(0)
fmul st(1)
fld st(0)
fmul st(2)
fld st(1)
fmul dword [0x86d2b0]
fsub dword [0x86d2ac]
fmul st(2)
fadd dword [0x86d2a8]
fmul st(2)
fsub dword [0x86d2a4]
fmul st(2)
fadd dword [0x864e0c]
fmul st(2)
fsub dword [0x85f0a0]
fmul st(1)
faddp st(3)
fstp st(0)
fstp st(0)
fld dword [esp + 0x94]
fmul st(2)
fld dword [esp + 0x98]
fmul st(3)
fld dword [esp + 0x9c]
fmul st(4)
fstp dword [esp + 0x34]
fld dword [esp + 0xa4]
fmul st(3)
fadd st(2)
fstp dword [esp + 0x2c]
fld dword [esp + 0xa8]
fmul st(3)
fadd st(1)
fstp dword [esp + 0x30]
fstp st(0)
fstp st(0)
fld dword [esp + 0xac]
fmul st(1)
fadd dword [esp + 0x34]
fstp dword [esp + 0x34]
fld dword [esp + 0xb0]
fmul st(1)
fld dword [esp + 0xa0]
fmul st(3)
faddp st(1)
fstp dword [esp + 0x38]
fstp st(0)
fstp st(0)
mov dword [esp + 0x13c], esi
mov dword [esp + 0x140], esi
fld dword [esp + 0x30]
fmul dword [esp + 0x30]
mov eax, 3
mov byte [esp + 0x2a4], al
fld dword [esp + 0x2c]
fmul dword [esp + 0x2c]
faddp st(1)
fld dword [esp + 0x34]
fmul dword [esp + 0x34]
faddp st(1)
fld dword [esp + 0x38]
fmul dword [esp + 0x38]
faddp st(1)
fdivr dword [0x858ca0]
fld dword [esp + 0x2c]
fmul st(1)
fld st(1)
fmul dword [esp + 0x30]
fstp dword [esp + 0x8c]
fxch st(1)
fmul dword [esp + 0x34]
fld st(1)
fmul dword [esp + 0x38]
fstp dword [esp + 0x4c]
fld dword [esp + 0x8c]
fmul dword [esp + 0x38]
fstp dword [esp + 0x50]
fld dword [esp + 0x38]
fmul st(1)
fstp dword [esp + 0x54]
fld st(1)
fmul dword [esp + 0x2c]
fstp dword [esp + 0x20]
fld dword [esp + 0x8c]
fmul dword [esp + 0x30]
fstp dword [esp + 0x24]
fld dword [esp + 0x34]
fmul st(1)
fstp dword [esp + 0x28]
fmul dword [esp + 0x30]
fstp dword [esp + 0x5c]
fmul dword [esp + 0x34]
fld dword [esp + 0x8c]
fmul dword [esp + 0x2c]
fld dword [esp + 0x28]
fadd dword [esp + 0x24]
fsubr dword [0x858624]
fstp dword [esp + 0xbc]
fld dword [esp + 0x54]
fadd st(1)
fstp dword [esp + 0xc0]
fld st(1)
fsub dword [esp + 0x50]
fstp dword [esp + 0xc4]
fsub dword [esp + 0x54]
fstp dword [esp + 0xcc]
fld dword [esp + 0x28]
fadd dword [esp + 0x20]
fsubr dword [0x858624]
fstp dword [esp + 0xd0]
mov dword [esp + 0xc8], eax
fld dword [esp + 0x5c]
lea eax, [esp + 0xbc]
fadd dword [esp + 0x4c]
push eax
lea ecx, [esp + 0x100]
mov dword [esp + 0xf0], 0
fstp dword [esp + 0xd8]
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
fadd dword [esp + 0x54]
fstp dword [esp + 0xe0]
fld dword [esp + 0x60]
fsub dword [esp + 0x50]
fstp dword [esp + 0xe4]
fld dword [esp + 0x28]
fadd dword [esp + 0x24]
fsubr dword [0x858624]
fstp dword [esp + 0xe8]
call fcn.0059ad20
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x12c], ecx
lea ecx, [esp + 0xfc]
push ecx
mov ecx, edi
mov dword [esp + 0x134], edx
mov dword [esp + 0x138], eax
call fcn.0054f610
lea ecx, [esp + 0xfc]
mov byte [esp + 0x2a4], 2
call fcn.0059acd0
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x2a4], 0
call fcn.0059acd0
lea ecx, [esp + 0x18c]
mov dword [esp + 0x2a4], 0xffffffff
call fcn.0059acd0
jmp 0x652791
cmp ax, 0x175
je 0x6521f2
cmp ax, 0x176
je 0x6521f2
cmp ax, 0x177
je 0x6521f2
cmp ax, 0x178
je 0x6521f2
cmp ax, 0x179
jne 0x652640
mov esi, dword [esi + 0x14]
push esi
lea ecx, [esp + 0x1d8]
call fcn.0059bcf0
lea edx, [esp + 0x25c]
mov ebx, 4
push edx
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x2a8], ebx
call fcn.0059b8b0
lea eax, [esp + 0x25c]
push eax
lea ecx, [esp + 0x7c]
push ecx
call fcn.007eb5c0
mov esi, dword [esp + 0x2b4]
mov eax, dword [esi + 0x14]
add esp, 8
push eax
lea ecx, [esp + 0x190]
call fcn.0059bcf0
mov edx, dword [esi + 0x558]
mov eax, edx
push eax
lea ecx, [esp + 0x190]
mov byte [esp + 0x2a8], 5
mov dword [esp + 0x1c], edx
call fcn.0059b020
lea ecx, [esp + 0x21c]
push ecx
lea ecx, [esp + 0x190]
call fcn.0059b8b0
lea edx, [esp + 0x21c]
push edx
lea eax, [esp + 0x6c]
push eax
call fcn.007eb5c0
fld dword [ebp + 0x20]
mov ecx, dword [ebp + 0x14]
fld dword [ecx + 0x10]
lea edx, [esp + 0x9c]
fxch st(1)
push edx
fdiv st(1)
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x88]
push ecx
fstp dword [esp + 0x24]
fstp st(0)
call fcn.007ec220
fld dword [esp + 0x24]
add esp, 0x14
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jp 0x652301
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
jmp 0x652452
fld dword [0x858624]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x652337
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
jmp 0x652452
fld dword [0x858624]
mov eax, dword [esp + 0xb8]
test eax, eax
fsub dword [esp + 0x10]
fld dword [esp + 0x10]
jne 0x6523e4
fstp st(0)
fmul dword [esp + 0xb4]
fld st(0)
fmul st(1)
fld st(0)
fmul st(2)
fld st(1)
fmul dword [0x86d2b0]
fsub dword [0x86d2ac]
fmul st(2)
fadd dword [0x86d2a8]
fmul st(2)
fsub dword [0x86d2a4]
fmul st(2)
fadd dword [0x864e0c]
fmul st(2)
fsub dword [0x85f0a0]
fmul st(1)
faddp st(3)
fstp st(0)
fstp st(0)
fld dword [esp + 0xb4]
fmul dword [esp + 0x10]
fld st(0)
fmul st(1)
fld st(0)
fmul st(2)
fld st(1)
fmul dword [0x86d2b0]
fsub dword [0x86d2ac]
fmul st(2)
fadd dword [0x86d2a8]
fmul st(2)
fsub dword [0x86d2a4]
fmul st(2)
fadd dword [0x864e0c]
fmul st(2)
fsub dword [0x85f0a0]
fmul st(1)
faddp st(3)
fstp st(0)
fstp st(0)
fld dword [esp + 0x94]
fmul st(2)
fld dword [esp + 0x98]
fmul st(3)
fld dword [esp + 0x9c]
fmul st(4)
fstp dword [esp + 0x34]
fld dword [esp + 0xa4]
fmul st(3)
fadd st(2)
fstp dword [esp + 0x2c]
fld dword [esp + 0xa8]
fmul st(3)
fadd st(1)
fstp dword [esp + 0x30]
fstp st(0)
fstp st(0)
fld dword [esp + 0xac]
fmul st(1)
fadd dword [esp + 0x34]
fstp dword [esp + 0x34]
fld dword [esp + 0xb0]
fmul st(1)
fld dword [esp + 0xa0]
fmul st(3)
faddp st(1)
fstp dword [esp + 0x38]
fstp st(0)
fstp st(0)
xor eax, eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], eax
fld dword [esp + 0x30]
fmul dword [esp + 0x30]
mov byte [esp + 0x2a4], 6
fld dword [esp + 0x2c]
fmul dword [esp + 0x2c]
faddp st(1)
fld dword [esp + 0x34]
fmul dword [esp + 0x34]
faddp st(1)
fld dword [esp + 0x38]
fmul dword [esp + 0x38]
faddp st(1)
fdivr dword [0x858ca0]
fld dword [esp + 0x2c]
fmul st(1)
fld st(1)
fmul dword [esp + 0x30]
fstp dword [esp + 0x8c]
fxch st(1)
fmul dword [esp + 0x34]
fld st(1)
fmul dword [esp + 0x38]
fstp dword [esp + 0x20]
fld dword [esp + 0x8c]
fmul dword [esp + 0x38]
fstp dword [esp + 0x24]
fld dword [esp + 0x38]
fmul st(1)
fstp dword [esp + 0x28]
fld st(1)
fmul dword [esp + 0x2c]
fstp dword [esp + 0x4c]
fld dword [esp + 0x8c]
fmul dword [esp + 0x30]
fstp dword [esp + 0x50]
fld dword [esp + 0x34]
fmul st(1)
fstp dword [esp + 0x54]
fmul dword [esp + 0x30]
fstp dword [esp + 0x5c]
fmul dword [esp + 0x34]
fld dword [esp + 0x8c]
fmul dword [esp + 0x2c]
fld dword [esp + 0x54]
fadd dword [esp + 0x50]
fsubr dword [0x858624]
fstp dword [esp + 0xbc]
fld dword [esp + 0x28]
fadd st(1)
fstp dword [esp + 0xc0]
fld st(1)
fsub dword [esp + 0x24]
fstp dword [esp + 0xc4]
fsub dword [esp + 0x28]
fstp dword [esp + 0xcc]
fld dword [esp + 0x54]
fadd dword [esp + 0x4c]
fsubr dword [0x858624]
fstp dword [esp + 0xd0]
lea ecx, [esp + 0xbc]
fld dword [esp + 0x5c]
push ecx
fadd dword [esp + 0x24]
lea ecx, [esp + 0x100]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
fstp dword [esp + 0xd8]
mov dword [esp + 0xf8], eax
mov dword [esp + 0xcc], 3
fadd dword [esp + 0x28]
fstp dword [esp + 0xe0]
fld dword [esp + 0x60]
fsub dword [esp + 0x24]
fstp dword [esp + 0xe4]
fld dword [esp + 0x54]
fadd dword [esp + 0x50]
fsubr dword [0x858624]
fstp dword [esp + 0xe8]
call fcn.0059ad20
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x12c], edx
lea edx, [esp + 0xfc]
mov dword [esp + 0x134], ecx
push edx
mov ecx, esi
mov dword [esp + 0x134], eax
call fcn.0054f610
lea ecx, [esp + 0xfc]
mov byte [esp + 0x2a4], 5
call fcn.0059acd0
lea ecx, [esp + 0x18c]
mov byte [esp + 0x2a4], bl
call fcn.0059acd0
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x2a4], 0xffffffff
call fcn.0059acd0
jmp 0x652791
fld dword [esp + 0x3c]
fcomp dword [0x858cc4]
fnstsw ax
test ah, 0x41
jp 0x652746
mov al, byte [esp + 0x5b]
test al, al
jne 0x652746
cmp dword [esi + 0x590], 9
je 0x652746
cmp dword [esi + 0x594], 2
je 0x652746
mov eax, dword [esi + 0x14]
push eax
lea ecx, [esp + 0x148]
call fcn.0059bcf0
push ebp
push 0
push esi
lea eax, [esp + 0x68]
push eax
mov ecx, ebx
mov dword [esp + 0x2b4], 7
call fcn.0064fc10
mov ecx, dword [eax]
mov dword [esp + 0x40], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x44], edx
mov eax, dword [eax + 8]
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x148]
mov dword [esp + 0x4c], eax
push edx
lea eax, [esp + 0x34]
push eax
call fcn.0059c790
fld dword [esp + 0x180]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], ecx
fadd dword [esp + 0x2c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
fstp dword [esp + 0x180]
add esp, 0xc
fld dword [esp + 0x178]
lea ecx, [esp + 0x144]
fadd dword [esp + 0x24]
push ecx
mov ecx, edi
fstp dword [esp + 0x17c]
fld dword [esp + 0x180]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x180]
call fcn.0054f610
lea ecx, [esp + 0x144]
mov dword [esp + 0x2a4], 0xffffffff
call fcn.0059acd0
jmp 0x652791
mov eax, dword [edi + 0x14]
test eax, eax
je 0x65276a
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x30], edx
mov eax, dword [edi + 0x14]
mov dword [eax + 0x34], ecx
mov edx, dword [edi + 0x14]
mov eax, dword [esp + 0x48]
mov dword [edx + 0x38], eax
jmp 0x65277f
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov dword [edi + 0xc], eax
mov ecx, dword [edi + 0x558]
push ecx
push 0
push 0
mov ecx, edi
call fcn.00439a80
mov ecx, dword [esp + 0x29c]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov dword fs:[0], ecx
add esp, 0x298
ret 0xc