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

Disassembly:
sub esp, 0x54
movss xmm0, dword [0x6fa7d0]
push ebx
mov ebx, dword [esp + 0x5c]
cmp dword [ebx + 0xc0], 0
push ebp
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [0x6d6a54]
push esi
movss dword [esp + 0x38], xmm0
movss xmm0, dword [0x6b099c]
push edi
movss dword [esp + 0x44], xmm0
jne 0x59e70e
fld dword [ebx + 0xbc]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld st(0)
fdivr qword [0x6fa7c8]
fstp dword [esp + 0x24]
fld st(0)
fdivr qword [0x6f9ff8]
fstp dword [esp + 0x3c]
fdivr qword [0x6f9eb8]
fstp dword [esp + 0x44]
cmp dword [0x7dc120], 0
fld dword [esp + 0x24]
fld dword [esp + 0x3c]
fld dword [0x725a94]
fld dword [0x954078]
jne 0x59f0ed
mov eax, dword [0xa6f970]
test eax, eax
movss xmm0, dword [0x6fa7c0]
xorps xmm1, xmm1
movaps xmm5, xmm0
movaps xmm4, xmm1
mov dword [0x7dc120], 1
mov dword [esp + 0x10], eax
movss dword [esp + 0x68], xmm5
movss dword [esp + 0x34], xmm4
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x38], xmm1
jle 0x59e88c
mov esi, dword [0xa6f96c]
add esi, 0x78
mov edi, eax
mov eax, dword [esi]
movzx ecx, byte [eax + 0x13]
movzx edx, byte [esi - 0xc]
movzx ebp, byte [eax + 0x13]
add ecx, 1
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, eax
lea edx, [edx + ebp + 1]
lea edx, [edx + edx*2]
fld dword [ecx]
shl edx, 4
fstp dword [esp + 0x40]
movss xmm3, dword [esp + 0x40]
fld dword [esp + 0x40]
add edx, eax
fld dword [esp + 0x68]
fcompi st(1)
jbe 0x59e7c4
movaps xmm5, xmm3
movss dword [esp + 0x68], xmm5
fld dword [ecx + 8]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
movss xmm2, dword [esp + 0x40]
fld dword [esp + 0x28]
fcompi st(1)
jbe 0x59e7e6
movaps xmm0, xmm2
movss dword [esp + 0x28], xmm0
fld dword [esp + 0x34]
fxch st(2)
fcompi st(2)
fstp st(1)
jbe 0x59e7fb
movaps xmm4, xmm3
movss dword [esp + 0x34], xmm4
fld dword [esp + 0x38]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x59e810
movaps xmm1, xmm2
movss dword [esp + 0x38], xmm1
fld dword [edx]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
movss xmm3, dword [esp + 0x40]
fld dword [esp + 0x68]
fcompi st(1)
jbe 0x59e831
movaps xmm5, xmm3
movss dword [esp + 0x68], xmm5
fld dword [edx + 8]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
movss xmm2, dword [esp + 0x40]
fld dword [esp + 0x28]
fcompi st(1)
jbe 0x59e853
movaps xmm0, xmm2
movss dword [esp + 0x28], xmm0
fld dword [esp + 0x34]
fxch st(2)
fcompi st(2)
fstp st(1)
jbe 0x59e868
movaps xmm4, xmm3
movss dword [esp + 0x34], xmm4
fld dword [esp + 0x38]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x59e87d
movaps xmm1, xmm2
movss dword [esp + 0x38], xmm1
add esi, 0x88
sub edi, 1
jne 0x59e77e
mov eax, dword [0x9540bc]
xor ecx, ecx
movss dword [0x7d6348], xmm5
movss dword [0x7d634c], xmm4
movss dword [0x7d6350], xmm0
movss dword [0x7d6354], xmm1
cmp dword [eax + 0x20], ecx
jne 0x59f0ed
mov ebp, dword [esp + 0x10]
xor eax, eax
cmp ebp, 4
mov dword [esp + 0x38], ecx
jl 0x59ebc2
mov esi, dword [0xa6f96c]
add ebp, 0xfffffffc
shr ebp, 2
add esi, 0x100
add ebp, 1
lea edx, [ebp*4]
mov dword [esp + 0x38], edx
mov edi, dword [esi - 0x88]
movzx edx, byte [edi + 0x13]
add edx, 1
lea edx, [edx + edx*2]
shl edx, 4
add edx, edi
test eax, eax
jne 0x59e99a
fld st(0)
add ecx, 1
fld dword [edx + 8]
fld dword [0x7d6350]
fld st(0)
fsubp st(2)
fld st(6)
fmulp st(2)
fsubr dword [0x7d6354]
fdivp st(1)
fstp dword [esp + 0x68]
fsub dword [esp + 0x68]
fld st(3)
fsub st(5)
fmul qword [0x6f99e0]
fsubp st(1)
fadd qword [0x6fa7b8]
fmul dword [ebx + 0xd8]
fstp dword [esp + 0x68]
fld dword [edx]
fld dword [0x7d6348]
fld st(0)
fsubp st(2)
fxch st(1)
fmul qword [0x6fa7c8]
fld dword [0x7d634c]
fsubrp st(2)
fdivrp st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fadd st(2)
fadd qword [0x6fa7b0]
fsub qword [0x6f9cc8]
fmul dword [ebx + 0xd4]
fstp dword [ecx*8 + 0x7d6350]
fld dword [esp + 0x68]
fstp dword [ecx*8 + 0x7d6354]
mov edi, dword [esi]
lea edx, [eax + 1]
movzx eax, byte [edi + 0x13]
add eax, 1
lea eax, [eax + eax*2]
shl eax, 4
and edx, 7
add eax, edi
test edx, edx
jne 0x59ea47
fld st(0)
add ecx, 1
fld dword [eax + 8]
fld dword [0x7d6350]
fld st(0)
fsubp st(2)
fld st(6)
fmulp st(2)
fsubr dword [0x7d6354]
fdivp st(1)
fstp dword [esp + 0x68]
fsub dword [esp + 0x68]
fld st(3)
fsub st(5)
fmul qword [0x6f99e0]
fsubp st(1)
fadd qword [0x6fa7b8]
fmul dword [ebx + 0xd8]
fstp dword [esp + 0x68]
fld dword [eax]
fld dword [0x7d6348]
fld st(0)
fsubp st(2)
fxch st(1)
fmul qword [0x6fa7c8]
fld dword [0x7d634c]
fsubrp st(2)
fdivrp st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fadd st(2)
fadd qword [0x6fa7b0]
fsub qword [0x6f9cc8]
fmul dword [ebx + 0xd4]
fstp dword [ecx*8 + 0x7d6350]
fld dword [esp + 0x68]
fstp dword [ecx*8 + 0x7d6354]
mov edi, dword [esi + 0x88]
movzx eax, byte [edi + 0x13]
add eax, 1
lea eax, [eax + eax*2]
add edx, 1
shl eax, 4
and edx, 7
add eax, edi
test edx, edx
jne 0x59eaf8
fld st(0)
add ecx, 1
fld dword [eax + 8]
fld dword [0x7d6350]
fld st(0)
fsubp st(2)
fld st(6)
fmulp st(2)
fsubr dword [0x7d6354]
fdivp st(1)
fstp dword [esp + 0x68]
fsub dword [esp + 0x68]
fld st(3)
fsub st(5)
fmul qword [0x6f99e0]
fsubp st(1)
fadd qword [0x6fa7b8]
fmul dword [ebx + 0xd8]
fstp dword [esp + 0x68]
fld dword [eax]
fld dword [0x7d6348]
fld st(0)
fsubp st(2)
fxch st(1)
fmul qword [0x6fa7c8]
fld dword [0x7d634c]
fsubrp st(2)
fdivrp st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fadd st(2)
fadd qword [0x6fa7b0]
fsub qword [0x6f9cc8]
fmul dword [ebx + 0xd4]
fstp dword [ecx*8 + 0x7d6350]
fld dword [esp + 0x68]
fstp dword [ecx*8 + 0x7d6354]
mov edi, dword [esi + 0x110]
movzx eax, byte [edi + 0x13]
add eax, 1
lea eax, [eax + eax*2]
add edx, 1
shl eax, 4
and edx, 7
add eax, edi
test edx, edx
jne 0x59eba9
fld st(0)
add ecx, 1
fld dword [eax + 8]
fld dword [0x7d6350]
fld st(0)
fsubp st(2)
fld st(6)
fmulp st(2)
fsubr dword [0x7d6354]
fdivp st(1)
fstp dword [esp + 0x68]
fsub dword [esp + 0x68]
fld st(3)
fsub st(5)
fmul qword [0x6f99e0]
fsubp st(1)
fadd qword [0x6fa7b8]
fmul dword [ebx + 0xd8]
fstp dword [esp + 0x68]
fld dword [eax]
fld dword [0x7d6348]
fld st(0)
fsubp st(2)
fxch st(1)
fmul qword [0x6fa7c8]
fld dword [0x7d634c]
fsubrp st(2)
fdivrp st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fadd st(2)
fadd qword [0x6fa7b0]
fsub qword [0x6f9cc8]
fmul dword [ebx + 0xd4]
fstp dword [ecx*8 + 0x7d6350]
fld dword [esp + 0x68]
fstp dword [ecx*8 + 0x7d6354]
lea eax, [edx + 1]
and eax, 7
add esi, 0x220
sub ebp, 1
jne 0x59e8ef
mov ebp, dword [esp + 0x10]
cmp dword [esp + 0x38], ebp
jge 0x59eca4
mov edx, dword [esp + 0x38]
mov edi, dword [0xa6f96c]
mov ebp, dword [esp + 0x10]
mov esi, edx
imul esi, esi, 0x88
lea edi, [esi + edi + 0x78]
sub ebp, edx
mov esi, dword [edi]
movzx edx, byte [esi + 0x13]
add edx, 1
lea edx, [edx + edx*2]
shl edx, 4
add edx, esi
test eax, eax
jne 0x59ec8f
fld st(0)
add ecx, 1
fld dword [edx + 8]
fld dword [0x7d6350]
fld st(0)
fsubp st(2)
fld st(6)
fmulp st(2)
fsubr dword [0x7d6354]
fdivp st(1)
fstp dword [esp + 0x68]
fsub dword [esp + 0x68]
fld st(3)
fsub st(5)
fmul qword [0x6f99e0]
fsubp st(1)
fadd qword [0x6fa7b8]
fmul dword [ebx + 0xd8]
fstp dword [esp + 0x68]
fld dword [edx]
fld dword [0x7d6348]
fld st(0)
fsubp st(2)
fxch st(1)
fmul qword [0x6fa7c8]
fld dword [0x7d634c]
fsubrp st(2)
fdivrp st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fadd st(2)
fadd qword [0x6fa7b0]
fsub qword [0x6f9cc8]
fmul dword [ebx + 0xd4]
fstp dword [ecx*8 + 0x7d6350]
fld dword [esp + 0x68]
fstp dword [ecx*8 + 0x7d6354]
add eax, 1
and eax, 7
add edi, 0x88
sub ebp, 1
jne 0x59ebe8
mov eax, dword [0x7d6358]
mov dword [0x7dc118], ecx
mov dword [ecx*8 + 0x7d6358], eax
mov edx, dword [0x7d635c]
mov dword [ecx*8 + 0x7d635c], edx
xor ecx, ecx
xor esi, esi
xor eax, eax
cmp dword [esp + 0x10], 4
jl 0x59efe6
mov edx, dword [esp + 0x10]
mov eax, dword [0xa6f96c]
add edx, 0xfffffffc
shr edx, 2
add edx, 1
mov dword [esp + 0x40], edx
add edx, edx
add eax, 0x6c
add edx, edx
mov dword [esp + 0x34], edx
mov edi, dword [eax + 0xc]
movzx edx, byte [edi + 0x13]
movzx ebp, byte [eax]
lea edx, [edx + ebp + 1]
lea edx, [edx + edx*2]
shl edx, 4
add edx, edi
test ecx, ecx
jne 0x59eda1
fld st(0)
add esi, 1
fld dword [edx + 8]
fld dword [0x7d6350]
fld st(0)
fsubp st(2)
fld st(6)
fmulp st(2)
fsubr dword [0x7d6354]
fdivp st(1)
fstp dword [esp + 0x68]
fsub dword [esp + 0x68]
fld st(3)
fsub st(5)
fmul qword [0x6f99e0]
fsubp st(1)
fadd qword [0x6fa7b8]
fmul dword [ebx + 0xd8]
fstp dword [esp + 0x68]
fld dword [edx]
fld dword [0x7d6348]
fld st(0)
fsubp st(2)
fxch st(1)
fmul qword [0x6fa7c8]
fld dword [0x7d634c]
fsubrp st(2)
fdivrp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fadd st(2)
fadd qword [0x6fa7b0]
fsub qword [0x6f9cc8]
fmul dword [ebx + 0xd4]
fstp dword [esi*8 + 0x7d8290]
fld dword [esp + 0x68]
fstp dword [esi*8 + 0x7d8294]
mov edi, dword [eax + 0x94]
movzx ebp, byte [eax + 0x88]
lea edx, [ecx + 1]
movzx ecx, byte [edi + 0x13]
lea ecx, [ecx + ebp + 1]
lea ecx, [ecx + ecx*2]
shl ecx, 4
and edx, 7
add ecx, edi
test edx, edx
jne 0x59ee5a
fld st(0)
add esi, 1
fld dword [ecx + 8]
fld dword [0x7d6350]
fld st(0)
fsubp st(2)
fld st(6)
fmulp st(2)
fsubr dword [0x7d6354]
fdivp st(1)
fstp dword [esp + 0x68]
fsub dword [esp + 0x68]
fld st(3)
fsub st(5)
fmul qword [0x6f99e0]
fsubp st(1)
fadd qword [0x6fa7b8]
fmul dword [ebx + 0xd8]
fstp dword [esp + 0x68]
fld dword [ecx]
fld dword [0x7d6348]
fld st(0)
fsubp st(2)
fxch st(1)
fmul qword [0x6fa7c8]
fld dword [0x7d634c]
fsubrp st(2)
fdivrp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fadd st(2)
fadd qword [0x6fa7b0]
fsub qword [0x6f9cc8]
fmul dword [ebx + 0xd4]
fstp dword [esi*8 + 0x7d8290]
fld dword [esp + 0x68]
fstp dword [esi*8 + 0x7d8294]
mov edi, dword [eax + 0x11c]
movzx ecx, byte [edi + 0x13]
movzx ebp, byte [eax + 0x110]
lea ecx, [ecx + ebp + 1]
lea ecx, [ecx + ecx*2]
add edx, 1
shl ecx, 4
and edx, 7
add ecx, edi
test edx, edx
jne 0x59ef13
fld st(0)
add esi, 1
fld dword [ecx + 8]
fld dword [0x7d6350]
fld st(0)
fsubp st(2)
fld st(6)
fmulp st(2)
fsubr dword [0x7d6354]
fdivp st(1)
fstp dword [esp + 0x68]
fsub dword [esp + 0x68]
fld st(3)
fsub st(5)
fmul qword [0x6f99e0]
fsubp st(1)
fadd qword [0x6fa7b8]
fmul dword [ebx + 0xd8]
fstp dword [esp + 0x68]
fld dword [ecx]
fld dword [0x7d6348]
fld st(0)
fsubp st(2)
fxch st(1)
fmul qword [0x6fa7c8]
fld dword [0x7d634c]
fsubrp st(2)
fdivrp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fadd st(2)
fadd qword [0x6fa7b0]
fsub qword [0x6f9cc8]
fmul dword [ebx + 0xd4]
fstp dword [esi*8 + 0x7d8290]
fld dword [esp + 0x68]
fstp dword [esi*8 + 0x7d8294]
mov edi, dword [eax + 0x1a4]
movzx ecx, byte [eax + 0x198]
movzx ebp, byte [edi + 0x13]
lea ecx, [ecx + ebp + 1]
lea ecx, [ecx + ecx*2]
add edx, 1
shl ecx, 4
and edx, 7
add ecx, edi
test edx, edx
jne 0x59efcc
fld st(0)
add esi, 1
fld dword [ecx + 8]
fld dword [0x7d6350]
fld st(0)
fsubp st(2)
fld st(6)
fmulp st(2)
fsubr dword [0x7d6354]
fdivp st(1)
fstp dword [esp + 0x68]
fsub dword [esp + 0x68]
fld st(3)
fsub st(5)
fmul qword [0x6f99e0]
fsubp st(1)
fadd qword [0x6fa7b8]
fmul dword [ebx + 0xd8]
fstp dword [esp + 0x68]
fld dword [ecx]
fld dword [0x7d6348]
fld st(0)
fsubp st(2)
fxch st(1)
fmul qword [0x6fa7c8]
fld dword [0x7d634c]
fsubrp st(2)
fdivrp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fadd st(2)
fadd qword [0x6fa7b0]
fsub qword [0x6f9cc8]
fmul dword [ebx + 0xd4]
fstp dword [esi*8 + 0x7d8290]
fld dword [esp + 0x68]
fstp dword [esi*8 + 0x7d8294]
lea ecx, [edx + 1]
and ecx, 7
add eax, 0x220
sub dword [esp + 0x40], 1
jne 0x59ecf5
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
cmp eax, edi
jge 0x59f0cd
mov ebp, dword [0xa6f96c]
mov edx, eax
imul edx, edx, 0x88
sub edi, eax
lea edx, [edx + ebp + 0x6c]
mov dword [esp + 0x40], edi
mov edi, dword [edx + 0xc]
movzx eax, byte [edi + 0x13]
movzx ebp, byte [edx]
lea eax, [eax + ebp + 1]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edi
test ecx, ecx
jne 0x59f0b6
fld st(0)
add esi, 1
fld dword [eax + 8]
fld dword [0x7d6350]
fld st(0)
fsubp st(2)
fld st(6)
fmulp st(2)
fsubr dword [0x7d6354]
fdivp st(1)
fstp dword [esp + 0x68]
fsub dword [esp + 0x68]
fld st(3)
fsub st(5)
fmul qword [0x6f99e0]
fsubp st(1)
fadd qword [0x6fa7b8]
fmul dword [ebx + 0xd8]
fstp dword [esp + 0x68]
fld dword [eax]
fld dword [0x7d6348]
fld st(0)
fsubp st(2)
fxch st(1)
fmul qword [0x6fa7c8]
fld dword [0x7d634c]
fsubrp st(2)
fdivrp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fadd st(2)
fadd qword [0x6fa7b0]
fsub qword [0x6f9cc8]
fmul dword [ebx + 0xd4]
fstp dword [esi*8 + 0x7d8290]
fld dword [esp + 0x68]
fstp dword [esi*8 + 0x7d8294]
add ecx, 1
and ecx, 7
add edx, 0x88
sub dword [esp + 0x40], 1
jne 0x59f00a
mov ecx, dword [0x7d8298]
mov dword [0x7dc118], esi
mov dword [esi*8 + 0x7d8298], ecx
mov edx, dword [0x7d829c]
mov dword [esi*8 + 0x7d829c], edx
mov eax, dword [0x9540bc]
fstp st(3)
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x59f1b4
mov eax, dword [0x7dc118]
fstp st(1)
fstp st(0)
xor edi, edi
test eax, eax
fstp st(0)
fld dword [0x6d54d0]
jbe 0x59f160
mov ebp, dword [esp + 0x6c]
lea ebx, [ebx]
push 0
sub esp, 0x10
fst dword [esp + 0xc]
or esi, 0xffffffff
fstp dword [esp + 8]
fld dword [edi*8 + 0x7d829c]
fstp dword [esp + 4]
fld dword [edi*8 + 0x7d8298]
fstp dword [esp]
push ebp
call fcn.0063b850
fld dword [0x6d54d0]
mov eax, dword [0x7dc118]
add edi, 1
add esp, 0x18
cmp edi, eax
jb 0x59f120
xor edi, edi
test eax, eax
jbe 0x59f23e
mov ebp, dword [esp + 0x6c]
jmp 0x59f176
fld dword [0x6d54d0]
push 0
sub esp, 0x10
fst dword [esp + 0xc]
or esi, 0xffffffff
fstp dword [esp + 8]
fld dword [edi*8 + 0x7d635c]
fstp dword [esp + 4]
fld dword [edi*8 + 0x7d6358]
fstp dword [esp]
push ebp
call fcn.0063b850
add edi, 1
add esp, 0x18
cmp edi, dword [0x7dc118]
jb 0x59f170
jmp 0x59f240
fld dword [ebx + 0xd8]
push eax
fstp dword [esp + 0x6c]
sub esp, 0x10
fld dword [ebx + 0xd4]
mov ecx, dword [esp + 0x80]
fstp dword [esp + 0x54]
mov esi, 0x80ffffff
fld dword [esp + 0x7c]
fld st(0)
fmul st(3)
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fstp dword [esp + 0xc]
fld dword [esp + 0x54]
fld qword [0x6f9ff8]
fmul st(1)
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fstp dword [esp + 8]
fxch st(4)
fsubrp st(3)
fxch st(2)
fadd qword [0x6fa7b8]
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fstp dword [esp + 4]
fsub qword [0x6f9cc8]
fmulp st(1)
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fstp dword [esp]
push ecx
call fcn.0063b850
add esp, 0x18
jmp 0x59f240
fstp st(0)
or eax, 0xffffffff
mov ecx, 0x725550
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
call fcn.006531b0
mov edi, eax
mov eax, dword [0x9cdbec]
cmp dword [eax + 0x14], 0
mov dword [esp + 0x38], 0xffffffff
je 0x59f283
mov edx, dword [eax + 0x14]
mov dword [esp + 0x34], edx
jmp 0x59f28a
mov eax, dword [eax + 8]
mov dword [esp + 0x34], eax
xor esi, esi
test edi, edi
jbe 0x59f2fb
mov edx, 0x955244
lea ecx, [edx - 0xb3c]
test ecx, ecx
je 0x59f2ee
xor eax, eax
cmp ecx, dword [ebx]
mov ecx, dword [edx - 0xb38]
sete al
cmp dword [ecx + 0x15c], 0
jne 0x59f2ee
mov ecx, dword [edx]
cmp edi, ecx
jae 0x59f2bd
mov ecx, edi
cmp ecx, 1
jae 0x59f2c7
mov ecx, 1
cmp dword [edx - 0x204], 2
jne 0x59f2df
mov ecx, dword [edx + 0x384]
shr ecx, 2
and ecx, 0xf
add ecx, 1
test eax, eax
mov dword [esp + ecx*4 + 0x44], esi
je 0x59f2ee
add ecx, 0xffffffff
mov dword [esp + 0x38], ecx
add esi, 1
add edx, 0xec8
cmp esi, edi
jb 0x59f295
add edi, 0xffffffff
mov ecx, dword [esp + 0x38]
js 0x59f4b3
lea ebp, [edi + 1]
jmp 0x59f310
mov eax, dword [esp + edi*4 + 0x48]
cmp eax, 0xffffffff
je 0x59f4a5
cmp edi, ecx
je 0x59f4a5
imul eax, eax, 0xec8
add eax, 0x954708
cmp dword [eax + 0x938], 2
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0xa8]
mov dword [esp + 0x10], edx
mov edx, dword [ecx + 0xac]
mov dword [esp + 0x14], edx
mov edx, dword [ecx + 0xb0]
mov dword [esp + 0x18], edx
jne 0x59f378
mov eax, dword [ecx + 0x84]
mov edx, dword [ecx + 0x88]
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 0x8c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
push ebp
push 0x6ca4b0
lea ecx, [esp + 0x70]
push 2
push ecx
call fcn.004a96d3
fld dword [ebx + 0xd4]
fstp dword [esp + 0x50]
add esp, 0x10
fld dword [esp + 0x40]
push 5
push ecx
fstp dword [esp]
mov esi, dword [esp + 0x3c]
fld dword [0x954078]
push 0xbef0f0f0
fld dword [esp + 0x24]
push ecx
fld dword [0x7d6350]
lea edx, [esp + 0x78]
fld st(0)
fsubp st(2)
fld dword [esp + 0x34]
fld st(0)
fmulp st(3)
fld dword [0x7d6354]
fsubrp st(2)
fxch st(2)
fdivrp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fsubp st(2)
fsubr dword [esp + 0x4c]
fmul qword [0x6f99e0]
fsubp st(1)
fadd qword [0x6f9cc8]
fstp qword [esp + 0x38]
fld1
fstp dword [esp]
push edx
push esi
call fcn.00584fb0
fmul qword [0x6f99e0]
add esp, 4
lea eax, [esp + 0x7c]
fsubr qword [esp + 0x3c]
fmul dword [ebx + 0xd8]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp dword [esp + 4]
fld dword [esp + 0x24]
fld dword [0x7d6348]
fld st(0)
fsubp st(2)
fxch st(1)
fmul qword [0x6fa7c8]
fld dword [0x7d634c]
fsubrp st(2)
fdivrp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fadd dword [0x725a94]
fadd qword [0x6fa7b0]
fsub qword [0x6f9cc8]
fstp qword [esp + 0x3c]
fld1
fstp dword [esp]
push eax
push esi
call fcn.00584fb0
fmul qword [0x6f99e0]
mov ecx, dword [esp + 0x88]
add esp, 8
fsubr qword [esp + 0x3c]
lea edx, [esp + 0x7c]
fmul dword [esp + 0x54]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fstp dword [esp]
push ecx
push edx
call fcn.00586670
mov ecx, dword [esp + 0x54]
add esp, 0x1c
sub edi, 1
sub ebp, 1
test edi, edi
jge 0x59f310
cmp ecx, 0xffffffff
je 0x59f7b4
mov eax, dword [esp + ecx*4 + 0x48]
fld dword [ebx + 0xd4]
fstp dword [esp + 0x40]
imul eax, eax, 0xec8
mov eax, dword [eax + 0x95470c]
mov edx, dword [eax + 0xa8]
mov dword [esp + 0x48], edx
mov edx, dword [eax + 0xac]
fld dword [esp + 0x48]
mov eax, dword [eax + 0xb0]
fld dword [0x7d6348]
mov dword [esp + 0x50], eax
fld st(0)
add ecx, 1
fsubp st(2)
push ecx
fxch st(1)
push 0x6ca4b4
lea ecx, [esp + 0x70]
fmul qword [0x6fa7c8]
push 2
fld dword [0x7d634c]
push ecx
fsubrp st(2)
mov dword [esp + 0x5c], edx
fdivrp st(1)
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fadd dword [0x725a94]
fadd qword [0x6fa7b0]
fsub qword [0x6f9cc8]
fsub qword [0x6fa7a8]
fld dword [esp + 0x50]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0x4c]
fsub dword [esp + 0x34]
fmul qword [0x6f99e0]
fst qword [esp + 0x38]
fld dword [esp + 0x54]
fld qword [0x6f9bb8]
fdivr st(1)
fst qword [esp + 0x20]
fld dword [ebx + 0xd8]
fstp dword [esp + 0x54]
fld dword [0x954078]
fld dword [esp + 0x60]
fld dword [0x7d6350]
fld st(0)
fsubp st(2)
fld dword [esp + 0x34]
fmulp st(2)
fsubr dword [0x7d6354]
fdivp st(1)
fstp dword [esp + 0x78]
fsub dword [esp + 0x78]
fsubrp st(3)
fxch st(2)
fadd qword [0x6fa7b8]
fsubrp st(2)
fld dword [esp + 0x54]
fld st(0)
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x4c]
fxch st(2)
fmul qword [0x6fa7a0]
fstp dword [esp + 0x50]
fxch st(1)
fdiv qword [0x6fa318]
fmulp st(1)
fstp dword [esp + 0x54]
call fcn.004a96d3
add esp, 0x10
cmp dword [0x725550], 6
jne 0x59f647
mov edx, dword [0x93d2f0]
test byte [edx + 0x474], 1
jne 0x59f647
test dword [0x954544], 0xfe000
je 0x59f631
cmp dword [ebx + 0x118], 0
je 0x59f621
push 1
push 0x6ca4b8
push 2
lea eax, [esp + 0x74]
push eax
jmp 0x59f63f
push 2
push 0x6ca4bc
push 2
lea ecx, [esp + 0x74]
push ecx
jmp 0x59f63f
push 1
push 0x6ca4c0
push 2
lea edx, [esp + 0x74]
push edx
call fcn.004a96d3
add esp, 0x10
mov eax, dword [ebx + 4]
fld dword [esp + 0x44]
mov ecx, dword [eax + 0x2c]
mov edi, dword [esp + 0x6c]
push ecx
sub esp, 0x10
fstp dword [esp + 0xc]
mov esi, 0x78ffffff
fld dword [esp + 0x54]
fstp dword [esp + 8]
fld dword [esp + 0x50]
fstp dword [esp + 4]
fld dword [esp + 0x4c]
fstp dword [esp]
push edi
call fcn.0063b850
fld dword [ebx + 0xd4]
fstp dword [esp + 0x84]
add esp, 0x18
fld dword [ebx + 0xd8]
push 5
fstp dword [esp + 0x44]
push ecx
fld dword [esp + 0x74]
mov esi, dword [esp + 0x3c]
fstp dword [esp]
push 0xbef0f0f0
fld dword [0x954078]
sub esp, 8
fld dword [esp + 0x64]
lea edx, [esp + 0x7c]
fld dword [0x7d6350]
fld st(0)
fsubp st(2)
fld dword [esp + 0x38]
fmulp st(2)
fsubr dword [0x7d6354]
fdivp st(1)
fstp dword [esp + 0x58]
fsub dword [esp + 0x58]
fsub qword [esp + 0x3c]
fadd qword [0x6fa7b8]
fsub qword [esp + 0x24]
fld dword [esp + 0x54]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fxch st(1)
fadd st(0), st(0)
faddp st(1)
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fstp dword [esp + 4]
fld1
fstp dword [esp]
push edx
push esi
call fcn.00584fb0
fmul qword [0x6f99e0]
fld qword [0x6fa7a8]
fld st(0)
fsubrp st(2)
fxch st(1)
fadd qword [0x6f9af0]
fld dword [esp + 0x88]
fld st(0)
fmulp st(2)
fld dword [esp + 0x64]
fld dword [0x7d6348]
fld st(0)
fsubp st(2)
fxch st(1)
fmul qword [0x6fa7c8]
fld dword [0x7d634c]
fsubrp st(2)
fdivrp st(1)
fstp dword [esp + 0x88]
fld dword [esp + 0x88]
fadd dword [0x725a94]
fadd qword [0x6fa7b0]
add esp, 8
lea eax, [esp + 0x7c]
fsub qword [0x6f9cc8]
fsubrp st(3)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x80]
fadd dword [esp + 0x80]
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fstp dword [esp]
push edi
push eax
call fcn.00586670
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 8