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

Disassembly:
sub esp, 0x94
cmp dword [0x725550], 0xa
fld dword [0x9cdcd8]
fld qword [0x6f9dd8]
push ebx
fmul st(1)
push ebp
push esi
push edi
fmul dword [0x7255e8]
mov edi, eax
fstp dword [esp + 0x1c]
fld qword [0x6f99e0]
je 0x5990b4
mov ax, word [0x9cdcd4]
fstp st(1)
shr ax, 1
movzx ecx, ax
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fld dword [esp + 0x1c]
fld st(0)
fmul st(3)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fld dword [0x725a98]
fsub qword [0x6fa2c8]
fstp dword [esp + 0x24]
fld dword [esp + 0x20]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x24]
fst dword [esp + 0x2c]
fxch st(1)
fstp dword [esp + 0x30]
fld dword [0x9cdcdc]
fmul qword [0x6f9d20]
fmul dword [0x7255ec]
fstp dword [esp + 0x18]
fadd dword [esp + 0x18]
jmp 0x599158
mov esi, edi
call fcn.005adf40
mov edx, dword [0x9540a0]
xor ecx, ecx
test edx, edx
jle 0x5990d7
cmp dword [ecx*4 + 0x954084], eax
je 0x5990d9
add ecx, 1
cmp ecx, edx
jl 0x5990c7
mov ecx, edx
cmp ecx, 1
fxch st(1)
fdiv qword [0x6f9a58]
fstp dword [esp + 0x18]
fld dword [0x9cdcdc]
fdiv qword [0x6f9b00]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld qword [0x6fa310]
fmul st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x14]
fld qword [0x6fa308]
fmul st(1)
fstp dword [esp + 0x18]
fxch st(1)
jne 0x599124
fmul qword [0x6fa300]
jmp 0x59912a
fmul qword [0x6fa2f8]
fstp dword [esp + 0x20]
fmul qword [0x6fa2f0]
fstp dword [esp + 0x24]
fld dword [esp + 0x20]
fld st(0)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x28]
fld dword [esp + 0x24]
fst dword [esp + 0x2c]
fxch st(1)
fstp dword [esp + 0x30]
fadd dword [esp + 0x18]
mov eax, dword [0x953e48]
fstp dword [esp + 0x34]
fld dword [esp + 0x28]
mov edx, dword [eax + 0x20]
test edx, edx
fstp dword [esp + 0x38]
fld dword [esp + 0x34]
fstp dword [esp + 0x3c]
fild dword [eax + 0x20]
jge 0x599181
fadd dword [0x6f9a18]
fdivr st(1)
mov eax, dword [eax + 0x24]
test eax, eax
mov dword [esp + 0x18], eax
fstp dword [esp + 0x14]
fild dword [esp + 0x18]
jge 0x59919c
fadd dword [0x6f9a18]
fdivr st(1)
movss xmm0, dword [0x6cc5ec]
xorps xmm1, xmm1
push 6
push 6
or eax, 0xffffffff
push 5
push 5
lea ecx, [esp + 0xa0]
movss dword [esp + 0x80], xmm0
movss dword [esp + 0x90], xmm1
movss dword [esp + 0x84], xmm1
movss dword [esp + 0x94], xmm1
movss dword [esp + 0x88], xmm0
movss dword [esp + 0x98], xmm0
movss dword [esp + 0x8c], xmm1
movss dword [esp + 0x9c], xmm0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], eax
fstp dword [esp + 0x28]
fld dword [esp + 0x24]
fld qword [0x6f9a08]
fadd st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [esp + 0x60]
fld dword [esp + 0x28]
fld st(0)
fldz
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [esp + 0x70]
fxch st(4)
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [esp + 0x64]
fxch st(3)
fstp dword [esp + 0x74]
fxch st(1)
fstp dword [esp + 0x68]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [esp + 0x78]
fstp dword [esp + 0x7c]
fstp dword [esp + 0x6c]
call fcn.00403ee0
mov eax, dword [0x819afc]
mov ebp, eax
shr ebp, 8
and ebp, 1
jne 0x599299
or eax, 0x101
mov dword [0x819afc], eax
mov esi, eax
shr esi, 7
and esi, 1
jne 0x5992ad
or eax, 0x81
mov dword [0x819afc], eax
mov cl, byte [0x819b10]
cmp cl, 1
movzx edx, cl
mov dword [esp + 0x14], edx
je 0x5992ce
or eax, 1
mov dword [0x819afc], eax
mov byte [0x819b10], 1
mov eax, dword [edi + 0x304]
mov edi, dword [0x953e48]
mov ebx, dword [eax + 0x34]
add edi, 0x18
call fcn.0057d880
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x10]
cmp dword [0x805cb8], eax
je 0x59930d
mov ecx, dword [0x7e43a0]
mov dword [0x805cb8], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x1ac]
push ecx
call eax
mov eax, dword [0x93db28]
cmp dword [0x805cb4], eax
je 0x599331
mov ecx, dword [0x7e43a0]
mov dword [0x805cb4], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x170]
push ecx
call eax
mov eax, dword [0x93db48]
test eax, eax
je 0x59933e
mov eax, dword [eax]
jmp 0x599340
xor eax, eax
cmp dword [0x805cb0], eax
je 0x59935f
mov ecx, dword [0x7e43a0]
mov dword [0x805cb0], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x15c]
push ecx
call eax
push edi
xor edi, edi
call fcn.00402260
add esp, 4
push ebx
mov edi, 1
call fcn.00402260
add esp, 4
lea eax, [esp + 0x20]
call fcn.00670390
movzx edx, byte [0x819b10]
mov ecx, dword [esp + 0x14]
cmp edx, ecx
mov eax, dword [0x819afc]
je 0x5993a2
or eax, edi
mov dword [0x819afc], eax
mov byte [0x819b10], cl
mov ecx, eax
shr ecx, 7
xor edx, edx
and ecx, edi
test esi, esi
setne dl
cmp ecx, edx
je 0x5993ca
shl esi, 7
xor esi, eax
and esi, 0x80
xor esi, eax
or esi, edi
mov eax, esi
mov dword [0x819afc], eax
mov ecx, eax
shr ecx, 8
xor edx, edx
and ecx, edi
test ebp, ebp
setne dl
cmp ecx, edx
je 0x5993f1
shl ebp, 8
xor ebp, eax
and ebp, 0x100
xor ebp, eax
or ebp, edi
mov dword [0x819afc], ebp
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
push 0x819af0
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
push eax
call fcn.004043b0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret