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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xf4
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x30], eax
fld dword [esp + 0x30]
fsub dword [edi + 0x28d8]
mov eax, dword [ecx + 0x18]
lea esi, [edi + 0x28b4]
mov dword [esp + 0x34], edx
fld dword [esp + 0x34]
fsub dword [edi + 0x28dc]
mov dword [esp + 0x38], eax
fld dword [esp + 0x38]
fsub dword [edi + 0x28e0]
fld dword [esi + 0x18]
fmul st(1)
fld dword [esi + 0xc]
fmul st(3)
faddp st(1)
fld st(3)
fmul dword [esi]
faddp st(1)
fld dword [esi + 0x1c]
fmul st(2)
fld dword [esi + 0x10]
fmul st(4)
faddp st(1)
fld dword [esi + 4]
fmul st(5)
faddp st(1)
fld dword [esi + 0x20]
fmulp st(3)
fld dword [esi + 0x14]
fmulp st(4)
fxch st(2)
faddp st(3)
fld dword [esi + 8]
fmulp st(4)
fxch st(2)
faddp st(3)
fld dword [edi + 0xb50]
fadd dword [edi + 0xb38]
fst dword [esp + 0x60]
fld dword [edi + 0xb54]
fadd dword [edi + 0xb3c]
fst dword [esp + 0x64]
fld dword [edi + 0xb58]
fadd dword [edi + 0xb40]
fstp dword [esp + 0x68]
fld dword [edi + 0xb5c]
fadd dword [edi + 0xb38]
fst dword [esp + 0x30]
fld dword [edi + 0xb60]
fadd dword [edi + 0xb3c]
fst dword [esp + 0x34]
fld dword [edi + 0xb64]
fadd dword [edi + 0xb40]
fst dword [esp + 0x38]
fxch st(4)
fsub dword [ecx + 0x1c]
fcomp st(6)
fnstsw ax
test ah, 0x41
je 0x506fd1
fld dword [ecx + 0x1c]
faddp st(2)
fxch st(5)
fcompp
fnstsw ax
test ah, 0x41
je 0x506fe8
fsub dword [ecx + 0x1c]
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x506ffb
fld dword [ecx + 0x1c]
faddp st(3)
fxch st(1)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x506fdb
fld dword [esp + 0x68]
fsub dword [ecx + 0x1c]
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x506fdb
fadd dword [ecx + 0x1c]
fcompp
fnstsw ax
test ah, 5
jnp 0x507003
mov ebx, dword [ebp + 0x10]
fld qword [ebx + 4]
mov ecx, dword [ebp + 0xc]
fstp dword [esp + 0x20]
push 0
fld qword [ebx + 0xc]
fstp dword [esp + 0x28]
fld qword [ebx + 0x14]
fstp dword [esp + 0x2c]
fld qword [ebx + 0x1c]
fstp dword [esp + 0x78]
fld qword [ebx + 0x24]
fstp dword [esp + 0x7c]
fld qword [ebx + 0x2c]
fstp dword [esp + 0x80]
fld qword [ebx + 0x34]
fstp dword [esp + 0x84]
fld qword [ebx + 0x3c]
fstp dword [esp + 0x88]
fld qword [ebx + 0x44]
fstp dword [esp + 0x8c]
fld qword [ebx + 0x4c]
fstp dword [esp + 0x90]
fld qword [ebx + 0x54]
fstp dword [esp + 0x94]
fld qword [ebx + 0x5c]
fstp dword [esp + 0x98]
fld dword [0x5ad798]
fstp dword [esp + 0x54]
call fcn.00415a10
mov ecx, eax
mov dword [esp + 0x4c], eax
call fcn.00548000
test eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
jle 0x507003
jmp 0x506a62
fstp st(0)
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
push eax
push ecx
mov ecx, dword [esp + 0x5c]
call fcn.00549530
lea edx, [esp + 0x98]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x80]
call fcn.00458180
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x9c]
push eax
lea eax, [edi + 0x28d8]
push eax
mov ecx, esi
call fcn.004c7ea0
fld dword [esp + 0x60]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x506b57
fld dword [esp + 0x30]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x506b57
fld dword [esp + 0x64]
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x506b55
fld dword [esp + 0x34]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x506b55
fld dword [esp + 0x68]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x506b53
fld dword [esp + 0x38]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x506b53
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld st(1)
fmulp st(2)
faddp st(1)
fld dword [esp + 0x50]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x506b57
mov ecx, dword [esp + 0x10]
fstp dword [esp + 0x50]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
jmp 0x506b59
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x48]
add eax, 1
cmp eax, dword [esp + 0x44]
mov dword [esp + 0x48], eax
jl 0x506a60
fld dword [0x5ad798]
fld dword [esp + 0x50]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x506fff
mov ecx, edi
call fcn.005015f0
fsqrt
mov esi, eax
mov eax, dword [ebp + 8]
mov dword [esi], 0xffffffff
mov ecx, dword [eax + 0x24]
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
fld dword [edi + 0x3464]
fsub st(1)
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x506bbd
fstp st(1)
fld st(0)
fxch st(1)
fld dword [esp + 0x54]
fld st(0)
fchs
fst dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fld dword [esp + 0x58]
mov dword [esp + 0x10], edx
fchs
fstp dword [esp + 0x24]
mov eax, dword [esp + 0x24]
fld dword [esp + 0x5c]
mov dword [esp + 0x14], eax
fld st(0)
fchs
fstp dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
fxch st(5)
mov dword [esp + 0x18], ecx
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x506c18
fdivp st(4)
fmul st(3)
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fmul st(3)
fld dword [esp + 0x18]
fmulp st(4)
jmp 0x506c2a
fstp st(0)
fstp st(3)
fstp st(2)
fld dword [esp + 0x14]
fld dword [esp + 0x18]
fxch st(3)
fxch st(1)
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x506c3b
fld st(0)
fsubrp st(6)
jmp 0x506c45
fstp st(5)
fld dword [esp + 0x30]
fsub st(5)
fxch st(5)
fxch st(4)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x506c58
fld dword [esp + 0x68]
fsubr st(1)
jmp 0x506c5e
fld dword [esp + 0x38]
fsub st(1)
fcom st(6)
fnstsw ax
test ah, 0x41
jne 0x506c7e
fstp st(0)
fxch st(4)
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x506c7a
fxch st(5)
fchs
fxch st(5)
fld st(2)
jmp 0x506c99
fstp st(6)
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x506c8f
fxch st(5)
fchs
fxch st(5)
fld st(2)
fxch st(6)
fxch st(1)
fxch st(5)
fxch st(1)
fxch st(6)
fadd dword [esp + 0x10]
fxch st(6)
faddp st(4)
fld dword [0x5adc74]
fmul st(6), st(0)
fxch st(6)
fst dword [esp + 0x10]
mov edx, dword [esp + 0x10]
fxch st(2)
mov dword [esp + 0x20], edx
fmul st(6)
fst dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fxch st(4)
mov dword [esp + 0x24], eax
fmulp st(6)
fxch st(5)
fst dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
fld st(1)
mov dword [esp + 0x28], ecx
fmul st(2)
fld st(4)
fmul st(5)
faddp st(1)
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fst dword [esi + 8]
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x506fab
fstp st(1)
lea eax, [esi + 0x3c]
fstp st(2)
push eax
fstp st(1)
lea edx, [esp + 0x24]
fstp st(0)
push edx
fstp st(1)
lea ecx, [edi + 0x28b4]
fstp st(0)
call fcn.0040a940
fld1
fdiv dword [esi + 8]
fld dword [esi + 0x3c]
fmul st(1)
fstp dword [esi + 0x3c]
fld dword [esi + 0x40]
fmul st(1)
fstp dword [esi + 0x40]
fmul dword [esi + 0x44]
fstp dword [esi + 0x44]
fld dword [esp + 0x10]
fld dword [esp + 0x14]
fld dword [esp + 0x18]
fld dword [esp + 0x5c]
fld dword [esp + 0x54]
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(2)
fxch st(1)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], eax
fsubr dword [esp + 0x58]
lea eax, [esi + 0x18]
push eax
lea eax, [esp + 0x34]
fstp dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
push eax
fsubrp st(1)
lea eax, [edi + 0x28d8]
mov dword [esp + 0x3c], ecx
push eax
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
lea ecx, [edi + 0x28b4]
mov dword [esp + 0x44], edx
call fcn.00458180
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
lea eax, [esi + 0x24]
mov dword [eax], ecx
mov ecx, dword [esi + 0x20]
push 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x50]
push edx
lea ecx, [esi + 0x3c]
push ecx
push eax
mov ecx, edi
call fcn.005018c0
fldz
fst dword [esi + 0x54]
lea eax, [esp + 0xd0]
fst dword [esi + 0x58]
push eax
fstp dword [esi + 0x5c]
lea ecx, [esp + 0xac]
fld dword [esi + 0x24]
push ecx
fstp qword [esp + 0xc0]
lea edx, [esp + 0xb8]
fld dword [esi + 0x28]
push edx
fstp qword [esp + 0xcc]
lea eax, [esp + 0xf4]
fld dword [esi + 0x2c]
push eax
fstp qword [esp + 0xd8]
lea ecx, [esp + 0xc8]
fld dword [esi + 0x3c]
push ecx
fstp qword [esp + 0xfc]
mov ecx, ebx
fld dword [esi + 0x40]
fstp qword [esp + 0x104]
fld dword [esi + 0x44]
fstp qword [esp + 0x10c]
call fcn.00575590
fld qword [esp + 0xb0]
fsubr dword [esp + 0x44]
fld qword [esp + 0xa8]
fadd dword [esp + 0x4c]
fld dword [esp + 0x10]
fsub qword [esp + 0xd0]
fst dword [esp + 0x10]
fld dword [esp + 0x14]
fsub qword [esp + 0xd8]
fst dword [esp + 0x14]
fld dword [esp + 0x18]
fsub qword [esp + 0xe0]
fst dword [esp + 0x18]
fldz
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
fcom st(5)
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x48], edx
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], ecx
fnstsw ax
test ah, 5
jp 0x506eaf
fstp st(5)
fld st(4)
fxch st(5)
fld dword [0x5ad77c]
fdivrp st(5)
fxch st(4)
fmulp st(5)
fxch st(4)
fst dword [esp + 0x44]
fld st(2)
fmul st(3)
fld st(2)
fmul st(3)
faddp st(1)
fld st(5)
fmul st(6)
faddp st(1)
fcomp dword [0x5ad744]
fnstsw ax
test ah, 0x41
jne 0x506f07
fstp st(0)
lea ecx, [esp + 0x10]
fstp st(3)
fstp st(2)
fstp st(1)
fstp st(0)
call fcn.004010b0
fld dword [esp + 0x18]
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fld dword [esp + 0x44]
fldz
fxch st(3)
fxch st(1)
fld dword [0x5ae064]
fmul st(1)
fld st(0)
fmulp st(4)
fld st(0)
fmulp st(3)
fmulp st(5)
fld dword [esi + 0x3c]
fmul st(1)
fld dword [esi + 0x40]
fmul st(2)
fld dword [esi + 0x44]
fmulp st(3)
fxch st(1)
fsubrp st(4)
fxch st(3)
fst dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fxch st(3)
mov dword [esp + 0x30], edx
fsubrp st(2)
fxch st(1)
fst dword [esp + 0x24]
mov eax, dword [esp + 0x24]
fxch st(1)
mov dword [esp + 0x34], eax
fsubrp st(4)
fxch st(3)
fst dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
fld st(3)
mov dword [esp + 0x38], ecx
fmulp st(4)
fmul st(0), st(0)
faddp st(3)
fmul st(0), st(0)
faddp st(2)
fxch st(1)
fsqrt
fst dword [esi + 4]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x506fbd
push ecx
fstp st(1)
lea edx, [esp + 0x9c]
fstp dword [esp]
push edx
lea ecx, [esp + 0x38]
call fcn.00445710
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fxch st(2)
fst dword [esi + 0x3c]
fld1
fstp dword [esi + 0x40]
fstp dword [esi + 0x44]
jmp 0x506d56
fstp st(0)
fst dword [esi + 0x30]
fst dword [esi + 0x34]
fstp dword [esi + 0x38]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fstp st(1)
fstp st(5)
fstp st(3)
fstp st(1)
fstp st(1)
fstp st(1)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fstp st(4)
fstp st(1)
fstp st(2)
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fstp st(3)
fstp st(0)
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc