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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
push esi
push edi
push 2
mov esi, ecx
mov ecx, dword [0x6b1ff8]
push 0x14
call fcn.0050f050
fild dword [ebp + 0x14]
mov ecx, dword [0x6b1ff8]
push 0
fstp dword [esp + 0x48]
push 1
fild dword [ebp + 0xc]
fld qword [0x6221e0]
fmul st(1), st(0)
fxch st(1)
fsubr dword [esp + 0x4c]
fstp dword [esp + 0x54]
fild dword [ebp + 0x18]
fstp dword [esp + 0x48]
fild dword [ebp + 0x10]
fmulp st(1)
fsubr dword [esp + 0x48]
fstp dword [esp + 0x50]
call fcn.0050e950
mov ecx, dword [0x6b1ff8]
push 0x142
call fcn.0050e9e0
mov ecx, dword [0x6b1ff8]
push 2
push 2
push 0
call fcn.0050e990
mov ecx, dword [0x6b1ff8]
push 0
push 3
push 0
call fcn.0050e990
mov ecx, dword [0x6b1ff8]
push 4
push 1
push 0
call fcn.0050e990
mov ecx, dword [0x6b1ff8]
push 2
push 5
push 0
call fcn.0050e990
mov ecx, dword [0x6b1ff8]
push 0
push 6
push 0
call fcn.0050e990
mov ecx, dword [0x6b1ff8]
push 4
push 4
push 0
call fcn.0050e990
mov eax, dword [esi + 0x14]
sub eax, dword [esi + 0x10]
mov dword [esp + 0x20], 0
sar eax, 2
test eax, eax
jbe 0x52fcc8
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
mov ebx, dword [esp + 0x20]
sar ecx, 2
cmp ebx, ecx
jb 0x52f554
call fcn.005c5aaf
mov edx, dword [esi + 0x10]
fld dword [esp + 0x44]
mov ecx, dword [esi + 0x14]
lea edi, [ebx*4]
mov eax, dword [edi + edx]
fld dword [eax + 0x20]
sub ecx, edx
fadd qword [0x622160]
sar ecx, 2
fmul dword [esp + 0x4c]
fsubp st(1)
fstp dword [esp + 0x1c]
cmp ebx, ecx
jb 0x52f589
call fcn.005c5aaf
mov edx, dword [esi + 0x10]
fld dword [esp + 0x40]
mov eax, dword [edi + edx]
fld dword [eax + 0x20]
mov ecx, dword [esi + 0x14]
fadd qword [0x622160]
sub ecx, edx
sar ecx, 2
fmul dword [esp + 0x48]
fsubp st(1)
fstp dword [esp + 0x24]
cmp ebx, ecx
jb 0x52f5b7
call fcn.005c5aaf
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov eax, dword [edi + edx]
fld dword [eax + 0x24]
sub ecx, edx
sar ecx, 2
fstp dword [esp + 0xc]
cmp ebx, ecx
jb 0x52f5d5
call fcn.005c5aaf
mov edx, dword [esi + 0x14]
sub edx, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
add eax, edi
sar edx, 2
mov dword [esp + 0x2c], eax
cmp ebx, edx
jb 0x52f5f0
call fcn.005c5aaf
mov eax, dword [esi + 0x10]
add eax, edi
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x14]
sub eax, dword [esi + 0x10]
sar eax, 2
cmp ebx, eax
jb 0x52f60b
call fcn.005c5aaf
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
mov ebx, dword [esi + 0x10]
sar ecx, 2
add ebx, edi
cmp dword [esp + 0x20], ecx
jb 0x52f624
call fcn.005c5aaf
mov edx, dword [esi + 0x10]
mov eax, dword [edi + edx]
mov ecx, dword [eax + 0x28]
fld dword [ecx]
mov edx, dword [ebx]
fld dword [ebp + 8]
mov eax, dword [edx + 0x28]
mov ecx, dword [esp + 0x28]
fld st(0)
mov edx, dword [ecx]
fmulp st(2)
mov ecx, dword [esp + 0x2c]
fxch st(1)
fstp dword [esp + 0x30]
fld dword [eax + 4]
mov eax, dword [edx + 0x28]
mov edx, dword [ecx]
fmul st(1)
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
fstp dword [esp + 0x34]
fld dword [eax + 8]
mov eax, dword [edx + 0x28]
fmul st(1)
sar ecx, 2
fstp dword [esp + 0x38]
fmul dword [eax + 0xc]
fstp dword [esp + 0x3c]
cmp dword [esp + 0x20], ecx
jb 0x52f680
call fcn.005c5aaf
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + edi]
add eax, edi
mov edi, dword [0x6b1ff8]
call fcn.0051c420
mov ecx, eax
call fcn.004e59a0
push eax
push 0
mov ecx, edi
call fcn.0050e950
fldz
fst dword [esp + 0x60]
fst dword [esp + 0x64]
fld dword [esp + 0x1c]
fld dword [esp + 0xc]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 0x50]
fld dword [esp + 0x24]
fsub st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0x54]
fxch st(1)
fst dword [esp + 0x58]
fld1
fld dword [esp + 0x30]
fcom st(1)
fnstsw ax
test ah, 1
jne 0x52f702
fld qword [0x6221e8]
mov edi, 0xff
fld qword [0x6221e0]
jmp 0x52f753
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x52f71b
fld qword [0x6221e8]
xor edi, edi
fld qword [0x6221e0]
jmp 0x52f753
fld st(0)
fld qword [0x6221e8]
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(1), st(0)
fld qword [0x6221e0]
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(2), st(0)
fldcw word [esp + 0x10]
fxch st(2)
fistp qword [esp + 0x10]
mov edi, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(1)
fld dword [esp + 0x34]
fcom st(4)
fnstsw ax
test ah, 1
jne 0x52f769
fstp st(0)
mov edx, 0xff
jmp 0x52f79e
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x52f778
fstp st(0)
xor edx, edx
jmp 0x52f79e
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(1)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x38]
fcom st(4)
fnstsw ax
test ah, 1
jne 0x52f7b4
fstp st(0)
mov ecx, 0xff
jmp 0x52f7e9
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x52f7c3
fstp st(0)
xor ecx, ecx
jmp 0x52f7e9
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(1)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x3c]
fcom st(4)
fnstsw ax
test ah, 1
jne 0x52f7ff
fstp st(0)
mov eax, 0xff
jmp 0x52f834
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x52f80e
fstp st(0)
xor eax, eax
jmp 0x52f834
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(1)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(4)
shl eax, 8
fst dword [esp + 0x78]
or eax, edi
fxch st(3)
shl eax, 8
fst dword [esp + 0x7c]
or eax, edx
fld dword [esp + 0x2c]
shl eax, 8
fstp dword [esp + 0x68]
or eax, ecx
fld st(5)
mov dword [esp + 0x5c], eax
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 0x6c]
fxch st(3)
fst dword [esp + 0x70]
fxch st(2)
fcom st(3)
fnstsw ax
test ah, 1
jne 0x52f885
mov edi, 0xff
jmp 0x52f8ba
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x52f892
xor edi, edi
jmp 0x52f8ba
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fld st(0)
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edi, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x34]
fcom st(4)
fnstsw ax
test ah, 1
jne 0x52f8d0
fstp st(0)
mov edx, 0xff
jmp 0x52f905
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x52f8df
fstp st(0)
xor edx, edx
jmp 0x52f905
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x38]
fcom st(4)
fnstsw ax
test ah, 1
jne 0x52f91b
fstp st(0)
mov ecx, 0xff
jmp 0x52f950
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x52f92a
fstp st(0)
xor ecx, ecx
jmp 0x52f950
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x3c]
fcom st(4)
fnstsw ax
test ah, 1
jne 0x52f964
mov eax, 0xff
jmp 0x52f999
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x52f971
xor eax, eax
jmp 0x52f999
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fld st(0)
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(6)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(4)
shl eax, 8
fst dword [esp + 0x90]
or eax, edi
fxch st(3)
shl eax, 8
fst dword [esp + 0x94]
or eax, edx
fld dword [esp + 0x1c]
shl eax, 8
faddp st(7)
or eax, ecx
fxch st(6)
mov dword [esp + 0x74], eax
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 0x80]
fld dword [esp + 0x28]
fstp dword [esp + 0x84]
fxch st(5)
fst dword [esp + 0x88]
fxch st(5)
fcom st(2)
fnstsw ax
test ah, 1
jne 0x52f9fb
mov edi, 0xff
jmp 0x52fa30
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x52fa08
xor edi, edi
jmp 0x52fa30
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fld st(0)
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edi, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x34]
fcom st(3)
fnstsw ax
test ah, 1
jne 0x52fa46
fstp st(0)
mov edx, 0xff
jmp 0x52fa7b
fcom st(6)
fnstsw ax
test ah, 0x41
jp 0x52fa55
fstp st(0)
xor edx, edx
jmp 0x52fa7b
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x38]
fcom st(3)
fnstsw ax
test ah, 1
jne 0x52fa8f
mov ecx, 0xff
jmp 0x52fac4
fcom st(6)
fnstsw ax
test ah, 0x41
jp 0x52fa9c
xor ecx, ecx
jmp 0x52fac4
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fld st(0)
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(6)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(4)
fcom st(3)
fnstsw ax
test ah, 1
jne 0x52fad6
mov eax, 0xff
jmp 0x52fb0b
fcom st(6)
fnstsw ax
test ah, 0x41
jp 0x52fae3
xor eax, eax
jmp 0x52fb0b
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fld st(0)
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(6)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(3)
shl eax, 8
fst dword [esp + 0xa8]
or eax, edi
fst dword [esp + 0xac]
shl eax, 8
fld dword [esp + 0x1c]
or eax, edx
fstp dword [esp + 0x98]
shl eax, 8
fld dword [esp + 0x24]
or eax, ecx
fstp dword [esp + 0x9c]
mov dword [esp + 0x8c], eax
fxch st(6)
fst dword [esp + 0xa0]
fxch st(1)
fcom st(6)
fnstsw ax
test ah, 1
jne 0x52fb64
fstp st(0)
mov edi, 0xff
jmp 0x52fb99
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x52fb73
fstp st(0)
xor edi, edi
jmp 0x52fb99
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edi, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x34]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x52fbaf
fstp st(0)
mov edx, 0xff
jmp 0x52fbe4
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x52fbbe
fstp st(0)
xor edx, edx
jmp 0x52fbe4
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(3)
fcom st(5)
fnstsw ax
test ah, 1
jne 0x52fbf8
fstp st(0)
mov ecx, 0xff
jmp 0x52fc2d
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x52fc07
fstp st(0)
xor ecx, ecx
jmp 0x52fc2d
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(4)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(4)
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x52fc47
fstp st(1)
mov eax, 0xff
fstp st(2)
fstp st(0)
fstp st(0)
jmp 0x52fc82
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x52fc5c
fstp st(2)
xor eax, eax
fstp st(0)
fstp st(0)
jmp 0x52fc82
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmulp st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
faddp st(1)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
fldcw word [esp + 0xc]
shl eax, 8
or eax, edi
shl eax, 8
or eax, edx
push 0x18
lea edx, [esp + 0x54]
push edx
shl eax, 8
or eax, ecx
mov ecx, dword [0x6b1ff8]
push 2
push 5
mov dword [esp + 0xb4], eax
call fcn.0050ebf0
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
mov eax, dword [esp + 0x20]
inc eax
sar ecx, 2
mov dword [esp + 0x20], eax
cmp eax, ecx
jb 0x52f53e
mov ecx, dword [0x6b1ff8]
push 0x14
call fcn.0050f070
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14