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

Disassembly:
sub esp, 0xd0
push esi
fld dword [0x7268d4]
mov eax, dword [0xa1ddc0]
fld dword [0xa1ddbc]
mov eax, dword [eax*4 + 0x6f9108]
movss xmm0, dword [0xb01d64]
fld st(0)
fmulp st(2)
movss xmm2, dword [0x6d54cc]
fxch st(1)
shl eax, 7
movss dword [eax + 0xa1cfcc], xmm0
movss xmm0, dword [0x7268e0]
fstp dword [esp + 4]
fld dword [0x7268d8]
movss dword [eax + 0xa1cfd8], xmm0
movss xmm0, dword [0xb01d68]
fmul st(1)
movss dword [eax + 0xa1cfd0], xmm0
movss xmm0, dword [0x7268e4]
fstp dword [esp + 8]
movss xmm1, dword [str.33s_]
movss dword [eax + 0xa1cfdc], xmm0
fmul dword [0x7268dc]
movss xmm0, dword [0xb01d6c]
movss dword [eax + 0xa1cfd4], xmm0
movss xmm0, dword [0x7268e8]
fstp dword [esp + 0xc]
movss dword [eax + 0xa1cfe0], xmm0
fld dword [esp + 4]
movss xmm0, dword [0xb01d70]
fstp dword [eax + 0xa1cfc0]
movss dword [esp + 0x90], xmm2
fld dword [esp + 8]
movss xmm2, dword [0x6bb308]
fstp dword [eax + 0xa1cfc4]
movss dword [esp + 0x94], xmm2
fld dword [esp + 0xc]
movss xmm2, dword [0x6cc5e8]
fstp dword [eax + 0xa1cfc8]
mov ecx, dword [0xa1ddc0]
mov eax, dword [ecx*4 + 0x6f9108]
shl eax, 7
movss dword [eax + 0xa1cfe4], xmm0
movss xmm0, dword [0xb01d74]
movss dword [eax + 0xa1cfe8], xmm0
movss xmm0, dword [0xb01d78]
movss dword [eax + 0xa1cff0], xmm0
xorps xmm0, xmm0
mov dword [eax + 0xa1cff4], 0
mov edx, dword [0xa1ddc0]
mov eax, dword [edx*4 + 0x6f9108]
movss dword [esp + 0xa4], xmm1
movss xmm1, dword [0x6cc5ec]
movss dword [esp + 0xa8], xmm2
movss xmm2, dword [0x6e5b20]
lea ecx, [esp + 0x88]
mov esi, 0xa1c780
movss dword [esp + 0xa0], xmm0
movss dword [esp + 0x8c], xmm1
movss dword [esp + 0x88], xmm0
movss dword [esp + 0xac], xmm2
movss dword [esp + 0x98], xmm0
movss dword [esp + 0x9c], xmm1
call fcn.004230c0
xorps xmm0, xmm0
movss dword [0xa1cfa0], xmm0
pop esi
add esp, 0xd0
ret
mov eax, dword [0x9540bc]
sub esp, 0xf4
test eax, eax
push ebx
push ebp
push esi
push edi
je 0x599004
mov eax, dword [eax + 4]
test eax, eax
je 0x599004
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x598add
push ecx
call fcn.00597ef0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf4
ret
test eax, eax
je 0x599004
mov ebx, dword [eax + 0x1c]
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x599004
mov eax, dword [ebx + 0x1c]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
cmp eax, 5
mov dword [esp + 0x2c], eax
je 0x598b0e
cmp eax, 6
jne 0x599004
cmp dword [0x9cd870], 0
jne 0x598b26
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf4
jmp 0x597380
mov edx, dword [0x954a04]
push edx
call fcn.005e0fe0
mov edi, dword [ebx + 0x18]
xorps xmm0, xmm0
xor edx, edx
xor esi, esi
xor ecx, ecx
test edi, edi
mov dword [esp + 0x1c], eax
movss dword [esp + 0x18], xmm0
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edi
jbe 0x599004
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x28], eax
xor ebp, ebp
jmp 0x598b6b
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + ebp]
xor eax, eax
add edi, 0xffffffff
cmp edx, edi
sete al
mov edi, eax
test edi, edi
je 0x598b86
xor edx, edx
jmp 0x598b89
add edx, 1
mov eax, dword [esp + 0x28]
shl edx, 4
cmp dword [esp + 0x1c], ebx
mov eax, dword [edx + eax]
jl 0x598b9f
cmp dword [esp + 0x1c], eax
jl 0x598ba3
test edi, edi
je 0x598bea
test esi, esi
jne 0x598bea
test edi, edi
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x1c]
mov esi, dword [ecx + ebp + 0xc]
mov ecx, dword [ecx + edx + 0xc]
je 0x598bce
cmp ebx, dword [esp + 0x1c]
jle 0x598bc8
sub ebx, dword [0xa6f970]
jmp 0x598bce
add eax, dword [0xa6f970]
mov edx, dword [esp + 0x1c]
sub edx, ebx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
sub eax, ebx
mov dword [esp + 0x18], eax
fidiv dword [esp + 0x18]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x20]
add eax, 1
add ebp, 0x10
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x20], eax
jb 0x598b63
test esi, esi
je 0x599004
fld dword [esp + 0x18]
mov edx, esi
fld st(0)
lea edi, [esp + 0x3c]
fld1
sub edx, ecx
fsubrp st(1)
lea eax, [ecx + 4]
sub edi, ecx
mov ebx, 0x1d
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [edx + eax]
add eax, 4
sub ebx, 1
fmul st(1)
fld dword [eax - 4]
fmul st(3)
faddp st(1)
fstp dword [edi + eax - 4]
jne 0x598c2e
lea eax, [ecx + 0x78]
mov ebx, 0xa
fld dword [eax + edx]
add eax, 4
sub ebx, 1
fmul st(1)
fld dword [eax - 4]
fmul st(3)
faddp st(1)
fstp dword [eax + edi - 4]
jne 0x598c4e
fmul dword [esi + 0xa0]
mov eax, dword [esp + 0x40]
fld dword [ecx + 0xa0]
mov edx, dword [esp + 0x48]
fmul st(2)
faddp st(1)
fstp dword [esp + 0xdc]
fld dword [esi + 0xa4]
fstp dword [esp + 0x14]
fld dword [ecx + 0xa4]
fld dword [esp + 0x14]
fld st(0)
fsubp st(2)
fld st(2)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0xe0]
fld dword [esi + 0xa8]
fstp dword [esp + 0x14]
fld dword [ecx + 0xa8]
fld dword [esp + 0x14]
fld st(0)
fsubp st(2)
fld st(2)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0xe4]
fld dword [esi + 0xac]
fstp dword [esp + 0x14]
fld dword [ecx + 0xac]
fld dword [esp + 0x14]
fld st(0)
fsubp st(2)
fld st(2)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0xe8]
fld dword [esi + 0xb0]
fstp dword [esp + 0x14]
fld dword [ecx + 0xb0]
fld dword [esp + 0x14]
fld st(0)
fsubp st(2)
fld st(2)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0xec]
fld dword [esi + 0xb4]
fstp dword [esp + 0x14]
fld dword [ecx + 0xb4]
fld dword [esp + 0x14]
fld st(0)
fsubp st(2)
fld st(2)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0xf0]
fld dword [esi + 0xb8]
fstp dword [esp + 0x14]
fld dword [ecx + 0xb8]
fld dword [esp + 0x14]
fld st(0)
fsubp st(2)
fld st(2)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0xf4]
fld dword [esi + 0xbc]
fstp dword [esp + 0x14]
fld dword [ecx + 0xbc]
mov ecx, dword [esp + 0x44]
fld dword [esp + 0x14]
mov dword [0x9d3630], eax
fld st(0)
mov dword [0x9d3634], ecx
fsubp st(2)
mov dword [0x9d3638], edx
fxch st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0xf8]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x58]
mov dword [0x9d3604], edx
mov edx, dword [esp + 0x60]
mov dword [0x9d3608], edx
mov edx, dword [esp + 0x64]
mov dword [0x9d363c], eax
mov dword [0x9d360c], edx
mov edx, dword [esp + 0x54]
mov dword [0x9d35f0], eax
mov eax, dword [esp + 0x50]
push 0x9d3630
push 0x9d3630
mov dword [0x9d3600], ecx
mov dword [0x9d35f4], eax
mov dword [0x9d35f8], edx
mov dword [0x9d35fc], ecx
call fcn.00402020
mov eax, dword [esp + 0x34]
movss xmm0, dword [0x6cc5ec]
add esp, 8
cmp eax, 5
jne 0x598e14
movaps xmm1, xmm0
jmp 0x598e1d
movss xmm1, dword [esp + 0xe0]
cmp eax, 5
fld dword [esp + 0x68]
fld dword [esp + 0x64]
movss dword [0x9d3678], xmm1
fld st(0)
xorps xmm1, xmm1
fsubp st(2)
movss dword [0x9d367c], xmm1
fld1
fld st(0)
fdiv st(3)
fstp dword [0x9d3670]
fxch st(1)
fchs
fdivrp st(2)
fxch st(1)
fstp dword [0x9d3674]
je 0x598e64
movss xmm0, dword [esp + 0xe4]
fld dword [esp + 0x70]
mov eax, dword [0xa1ddc0]
fld dword [esp + 0x6c]
mov ecx, dword [eax*4 + 0x6f9108]
fld st(0)
movss dword [0x9d3688], xmm0
fsubp st(2)
movss xmm0, dword [esp + 0x74]
fxch st(2)
movss dword [0x9d3690], xmm0
movss xmm0, dword [esp + 0x78]
fdiv st(1)
shl ecx, 7
movss dword [0x9d3694], xmm0
movss xmm0, dword [esp + 0x7c]
add ecx, 0xa1cfcc
movss dword [0x9d368c], xmm1
movss dword [0x9d3698], xmm0
xor eax, eax
fstp dword [0x9d3680]
fxch st(1)
fchs
fdivrp st(1)
fstp dword [0x9d3684]
fld dword [esp + 0x80]
fld dword [0xa1ddbc]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x84]
fmul st(1)
fstp dword [esp + 0x34]
fmul dword [esp + 0x88]
fstp dword [esp + 0x38]
fld dword [esp + eax + 0x30]
add eax, 4
fstp dword [ecx - 0xc]
add ecx, 4
cmp eax, 0xc
fld dword [esp + eax + 0x88]
fstp dword [ecx - 4]
fld dword [esp + eax + 0x94]
fstp dword [ecx + 8]
jb 0x598f06
movss xmm0, dword [esp + 0xf8]
comiss xmm0, xmm1
jbe 0x598f89
mov ecx, dword [0xa1ddc0]
mov eax, dword [ecx*4 + 0x6f9108]
movss xmm1, dword [esp + 0xec]
shl eax, 7
movss dword [eax + 0xa1cfe4], xmm1
movss xmm1, dword [esp + 0xf0]
movss dword [eax + 0xa1cfe8], xmm1
movss xmm1, dword [esp + 0xf4]
mov dword [eax + 0xa1cff4], 1
movss dword [eax + 0xa1cfec], xmm1
jmp 0x598fce
mov edx, dword [0xa1ddc0]
mov eax, dword [edx*4 + 0x6f9108]
movss xmm0, dword [esp + 0xa4]
shl eax, 7
movss dword [eax + 0xa1cfe4], xmm0
movss xmm0, dword [esp + 0xa8]
movss dword [eax + 0xa1cfe8], xmm0
movss xmm0, dword [esp + 0xac]
mov dword [eax + 0xa1cff4], 0
movss dword [eax + 0xa1cff0], xmm0
mov eax, dword [0xa1ddc0]
movss xmm0, dword [esp + 0xdc]
mov eax, dword [eax*4 + 0x6f9108]
lea ecx, [esp + 0xb4]
mov esi, 0xa1c780
movss dword [0xa1cfa0], xmm0
call fcn.004230c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf4
ret