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

Disassembly:
sub esp, 0x18c
fld dword [esp + 0x190]
push ebx
push ebp
fld st(0)
push esi
mov esi, dword [esp + 0x1a0]
fsub dword [esi]
push edi
mov dword [esp + 0x14], ecx
fst dword [esp + 0x24]
fldz
fld st(0)
fld dword [esp + 0x1b0]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x525a18
fstp st(0)
fld dword [0x9078e4]
fadd dword [0x5ad744]
fld st(0)
mov byte [esp + 0x13], 0
fchs
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x525a3b
fstp st(1)
mov byte [esp + 0x13], 1
fstp st(2)
fxch st(1)
fst dword [esp + 0x24]
jmp 0x525a59
fstp st(0)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x525a55
fstp st(2)
mov byte [esp + 0x13], 1
fxch st(1)
fst dword [esp + 0x24]
jmp 0x525a59
fstp st(0)
fxch st(1)
fld st(0)
fabs
fld st(0)
fld dword [0x5ae048]
fcomp st(1)
fnstsw ax
fld dword [0x5adc7c]
test ah, 0x41
fld dword [0x5ad750]
jne 0x525a8e
fxch st(2)
fmul dword [0x5c0298]
fsubr st(1)
fmul st(4)
fmul st(2)
fstp dword [esp + 0x34]
jmp 0x525aaf
fstp st(2)
fxch st(3)
fcom st(4)
fnstsw ax
test ah, 5
jp 0x525aa3
fld dword [0x5ae06c]
jmp 0x525aa9
fld dword [0x5ae064]
fstp dword [esp + 0x34]
fxch st(3)
fld st(2)
fld dword [0x5adc74]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x525ad2
fmul dword [0x5aded4]
fsubr st(1)
fmul st(4)
fmul st(2)
fstp dword [esp + 0x40]
jmp 0x525af3
fstp st(0)
fxch st(3)
fcom st(4)
fnstsw ax
test ah, 5
jp 0x525ae7
fld dword [0x5da428]
jmp 0x525aed
fld dword [0x5ad7ac]
fstp dword [esp + 0x40]
fxch st(3)
fld dword [0x5ae218]
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x525b14
fxch st(2)
fmul dword [0x61375c]
fsubp st(2)
fxch st(1)
fmul st(2)
fmulp st(1)
jmp 0x525b31
fstp st(2)
fstp st(1)
fstp st(0)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x525b2b
fld dword [0x624160]
jmp 0x525b31
fld dword [0x623e60]
mov eax, dword [esi + 4]
fstp dword [esp + 0x38]
mov edi, dword [esp + 0x1a8]
fxch st(2)
mov dword [edi + 4], eax
mov ecx, dword [esi + 0x1ab]
fstp dword [edi]
mov dword [edi + 0x1ab], ecx
fld st(0)
fucomp st(2)
fnstsw ax
test ah, 0x44
jp 0x525b61
fstp st(1)
jmp 0x525b67
fstp st(0)
fld1
fdivrp st(1)
lea edx, [esp + 0x74]
fstp dword [esp + 0x3c]
lea ecx, [esi + 0x18]
push edx
call fcn.004b3150
lea eax, [esp + 0x68]
lea ecx, [esi + 8]
push eax
call fcn.004b34d0
fld dword [esp + 0x34]
mov ecx, dword [esi + 4]
fmul dword [0x5ad750]
fldz
and ecx, 0xff
imul ecx, ecx, 0x600c
add ecx, 0x680cac
fcomp dword [ecx + 0x2904]
fnstsw ax
test ah, 0x41
jp 0x525bbb
fld dword [0x5ad858]
jmp 0x525bd9
fld dword [ecx + 0x3364]
fmul dword [ecx + 0x291c]
fmul dword [ecx + 0x2904]
fmul dword [ecx + 0x2904]
fsubr dword [0x5ad858]
fld dword [esp + 0x68]
lea ebp, [esi + 0x22]
fmul st(2)
lea edx, [esp + 0x5c]
push edx
fadd dword [esp + 0x78]
fld dword [esp + 0x28]
fmul st(1), st(0)
fxch st(1)
fadd dword [ebp]
fstp dword [esp + 0x60]
fxch st(1)
fmul st(2)
fmul dword [esp + 0x1b0]
fld dword [esp + 0x70]
fmul st(3)
faddp st(1)
fadd dword [esp + 0x7c]
fmul st(1)
fadd dword [esi + 0x26]
fstp dword [esp + 0x64]
fld dword [esp + 0x74]
fmulp st(2)
fxch st(1)
fadd dword [esp + 0x80]
fmulp st(1)
fadd dword [esi + 0x2a]
fstp dword [esp + 0x68]
call fcn.00500db0
mov ebx, eax
lea eax, [esp + 0x11c]
push eax
lea ecx, [esp + 0x2c]
push ecx
push ebp
mov ebp, dword [esp + 0x20]
push ebx
mov ecx, ebp
call fcn.00524b00
lea edx, [esp + 0x128]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x64]
push ecx
push ebx
mov ecx, ebp
call fcn.00524b00
fld dword [esp + 0x44]
fld dword [esp + 0x28]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
fsub st(1), st(0)
mov dword [esp + 0x54], eax
fld dword [esp + 0x54]
fld dword [esp + 0x2c]
mov dword [esp + 0x58], ecx
fsub st(1), st(0)
mov edx, dword [esp + 0x44]
fld dword [esp + 0x58]
mov dword [esp + 0x50], edx
fld dword [esp + 0x30]
fsub st(1), st(0)
fld dword [esp + 0x3c]
fmul st(6), st(0)
fmul st(4), st(0)
fxch st(4)
fstp dword [esp + 0x54]
fxch st(1)
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x58]
fld dword [esp + 0x74]
fld st(0)
fsubrp st(4)
fld dword [esp + 0x78]
fld st(0)
fsubrp st(3)
fld dword [esp + 0x7c]
fld st(0)
fsubrp st(5)
fld dword [0x907974]
fstp dword [esp + 0x14]
fld st(4)
fmulp st(5)
fld st(3)
fmulp st(4)
fxch st(4)
faddp st(3)
fld st(4)
fmulp st(5)
fxch st(2)
faddp st(4)
fld st(2)
fmul st(3)
fld st(2)
fmul st(3)
faddp st(1)
fld st(1)
fmul st(2)
faddp st(1)
fadd dword [0x5adc24]
fdivp st(4)
fxch st(3)
fsqrt
fsubr dword [esp + 0x14]
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x525d20
fstp st(1)
jmp 0x525d22
fstp st(0)
fld dword [esp + 0x24]
lea edx, [esp + 0xe0]
fld st(0)
lea ebx, [edi + 0x18]
fld dword [esp + 0x34]
push edx
fsub st(1), st(0)
mov ecx, ebx
fxch st(1)
fmulp st(3)
fld st(2)
fmulp st(2)
fxch st(1)
fmul dword [0x5ad750]
fld st(6)
fmul st(1)
fadd dword [esp + 0x60]
fstp dword [edi + 0x22]
fld dword [esp + 0x58]
fmul st(1)
fadd dword [esp + 0x64]
fstp dword [edi + 0x26]
fmul dword [esp + 0x5c]
fadd dword [esp + 0x68]
fstp dword [edi + 0x2a]
fxch st(5)
fmul st(1)
fld dword [esp + 0x6c]
fmul st(6)
faddp st(1)
faddp st(4)
fxch st(3)
fstp dword [esp + 0xe4]
fld dword [esp + 0x58]
fmul st(3)
fld dword [esp + 0x70]
fmul st(5)
faddp st(1)
faddp st(1)
fstp dword [esp + 0xe8]
fld dword [esp + 0x5c]
fmulp st(2)
fld dword [esp + 0x74]
fmulp st(3)
fxch st(1)
faddp st(2)
faddp st(1)
fstp dword [esp + 0xec]
call fcn.004b3050
lea eax, [esp + 0x80]
push eax
lea ecx, [esi + 0x18]
call fcn.004b32b0
fld dword [esp + 0x80]
fld dword [esp + 0x40]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
fmul st(1), st(0)
mov eax, dword [esp + 0x88]
fxch st(1)
mov dword [esp + 0x18], ecx
fstp dword [esp + 0x18]
mov dword [esp + 0x1c], edx
fld dword [esp + 0x1c]
mov dword [esp + 0x20], eax
fmul dword [esp + 0x38]
lea ecx, [esp + 0xbc]
push ecx
lea edx, [esp + 0x120]
fstp dword [esp + 0x20]
lea ecx, [esp + 0x2c]
fmul dword [esp + 0x24]
fstp dword [esp + 0x24]
call fcn.00524360
lea ecx, [esi + 0x2e]
lea edx, [esp + 0x8c]
call fcn.00565e30
fld dword [esp + 0xbc]
fstp dword [esp + 0xf8]
fld dword [esp + 0xc8]
fstp dword [esp + 0xfc]
fld dword [esp + 0xd4]
lea edx, [esp + 0xf8]
fstp dword [esp + 0x100]
push edx
fld dword [esp + 0xc4]
lea eax, [esp + 0x90]
fstp dword [esp + 0x108]
push eax
fld dword [esp + 0xd4]
lea ecx, [esp + 0x15c]
fstp dword [esp + 0x110]
fld dword [esp + 0xe0]
fstp dword [esp + 0x114]
fld dword [esp + 0xcc]
fstp dword [esp + 0x118]
fld dword [esp + 0xd8]
fstp dword [esp + 0x11c]
fld dword [esp + 0xe4]
fstp dword [esp + 0x120]
call fcn.0040aa00
lea edx, [esp + 0x134]
lea ecx, [esp + 0x154]
call fcn.00565f20
lea edx, [esp + 0xec]
lea ecx, [esp + 0x134]
call fcn.005661a0
fld dword [esp + 0xf0]
fmul st(0), st(0)
fld dword [esp + 0xf4]
fmul st(0), st(0)
faddp st(1)
fld dword [esp + 0xec]
fmul st(0), st(0)
faddp st(1)
fsqrt
fsubr dword [0x62415c]
fmul dword [esp + 0x14]
fmul dword [0x618410]
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x525f39
fstp st(1)
jmp 0x525f3b
fstp st(0)
lea ecx, [esp + 0xbc]
fstp dword [esp + 0x14]
push ecx
lea edx, [esp + 0x12c]
lea ecx, [esp + 0x48]
call fcn.00524360
lea edx, [esp + 0xf8]
push edx
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x180]
call fcn.0040aa00
lea edx, [esp + 0x144]
lea ecx, [esp + 0x178]
call fcn.00565f20
lea edx, [esp + 0xb0]
lea ecx, [esp + 0x144]
call fcn.005661a0
fld dword [esp + 0xa4]
fld dword [esp + 0xb8]
fmul st(1), st(0)
fld dword [esp + 0x98]
fld dword [esp + 0xb4]
fmul st(1), st(0)
fxch st(3)
faddp st(1)
fld dword [esp + 0x8c]
fld dword [esp + 0xb0]
fmul st(1), st(0)
fxch st(2)
faddp st(1)
fld dword [esp + 0xa8]
fmul st(3)
fld dword [esp + 0x9c]
fmul st(5)
faddp st(1)
fld dword [esp + 0x90]
fmul st(3)
faddp st(1)
fld dword [esp + 0xac]
fmulp st(4)
fld dword [esp + 0xa0]
fmulp st(5)
fxch st(3)
faddp st(4)
fld dword [esp + 0x94]
fmulp st(2)
fxch st(3)
faddp st(1)
fld dword [esp + 0x3c]
fmul st(3), st(0)
fxch st(3)
fst dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
fxch st(2)
mov dword [esp + 0x28], ecx
fmul st(3)
fstp dword [esp + 0x48]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x2c], edx
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
fld dword [esp + 0x24]
mov dword [esp + 0x30], eax
fsub dword [esp + 0x38]
fmul dword [esp + 0x14]
fmul st(1), st(0)
fld dword [esp + 0x2c]
fmul st(1)
fld dword [esp + 0x30]
fmulp st(2)
fxch st(2)
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fxch st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x90]
call fcn.005664a0
lea edx, [edi + 0x2e]
push edx
lea ecx, [esp + 0x90]
call fcn.00458120
fldz
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x44
jnp 0x5260d4
fld dword [esp + 0x18]
lea eax, [esp + 0x18]
fld dword [esp + 0x3c]
push eax
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x20]
fmul dword [esp + 0x24]
fstp dword [esp + 0x24]
jmp 0x5260dc
lea ecx, [esp + 0x80]
push ecx
mov ecx, ebx
call fcn.004b31b0
cmp byte [esp + 0x13], 0
movzx edx, word [esi + 0x10]
mov word [edi + 0x10], dx
mov ax, word [esi + 0x12]
mov word [edi + 0x12], ax
mov cx, word [esi + 0x14]
mov word [edi + 0x14], cx
movzx edx, word [esi + 0x16]
mov word [edi + 0x16], dx
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0xc]
mov dword [edi + 0xc], ecx
movzx edx, word [esi + 0x20]
mov word [edi + 0x20], dx
je 0x526144
fldz
lea eax, [esp + 0x28]
fst dword [esp + 0x28]
push eax
fst dword [esp + 0x30]
mov ecx, ebx
fstp dword [esp + 0x34]
call fcn.004b3050
lea ecx, [esp + 0x28]
push ecx
mov ecx, ebx
call fcn.004b31b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 0x14