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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x94
mov ebp, eax
fld dword [0x61ed70]
fcomp st(1)
fnstsw ax
fstp qword [esp + 0x80]
sahf
mov al, 0
mov byte [esp + 0x70], al
ja 0x52ca70
fld qword [esp + 0x80]
fcomp dword [0x61ed74]
fnstsw ax
sahf
je 0x52cc43
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 4]
test eax, eax
je 0x52d04b
fld dword [ebp + 8]
fld dword [ebp + 0x18]
fcom st(1)
fnstsw ax
fstp dword [esp + 0x78]
sahf
jbe 0x52d040
fld qword [esp + 0x80]
fadd st(1)
fcomp dword [esp + 0x78]
fnstsw ax
sahf
jb 0x52d040
mov eax, 1
mov dword [esp + 0x68], eax
fadd qword [esp + 0x80]
mov dword [esp + 0x78], eax
fst qword [esp + 0x28]
fst dword [ebp + 8]
fcomp dword [edx + 8]
fnstsw ax
fld dword [edx + 8]
sahf
fstp dword [esp + 0x88]
jbe 0x52c8e7
fld qword [esp + 0x28]
fcomp dword [esp + 0x88]
fnstsw ax
sahf
jbe 0x52c8d2
mov dword [esp + 0x60], edx
mov esi, dword [esp + 0x78]
fld dword [esp + 0x88]
fld qword [esp + 0x28]
fsub st(1)
fld dword [ebp + 0x18]
mov eax, 1
mov ecx, eax
fcomp st(1)
fnstsw ax
fst dword [ebp + 8]
sahf
jbe 0x52c8b0
mov ecx, 0
mov bh, 1
or esi, ecx
fcom st(1)
fnstsw ax
sahf
ja 0x52c895
fstp qword [esp + 0x28]
fstp dword [esp + 0x88]
mov byte [esp + 0x70], bh
mov dword [esp + 0x78], esi
mov edx, dword [esp + 0x60]
mov eax, ebp
call fcn.0052c508
fld qword [esp + 0x28]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp qword [esp + 0x28]
mov edi, dword [ebp]
xor esi, esi
mov dword [esp + 0x60], esi
mov eax, edi
add eax, eax
mov edx, edi
imul eax, eax, 4
shl edx, 2
lea eax, [eax + eax*8]
mov ecx, edx
mov dword [esp + 0x18], eax
lea eax, [ebp + eax + 0x2c]
mov dword [esp + 0x1c], eax
mov edx, eax
lea eax, [ecx + ecx*8]
mov ebx, edx
jmp 0x52c91d
fld dword [ebp + 8]
fstp qword [esp + 0x28]
fld qword [esp + 0x28]
xor ecx, ecx
test edi, edi
fstp qword [esp + 0x20]
mov dl, 0
jle 0x52ca57
mov dword [esp + 0x30], ebp
mov ebp, edi
fld qword [esp + 0x28]
fld qword [esp + 0x20]
mov dword [esp + 0x34], eax
fld dword [ebx + 0x1c]
fcom st(2)
fnstsw ax
sahf
ja 0x52c95a
fcom st(1)
fnstsw ax
sahf
jae 0x52c95a
fxch st(1)
mov esi, ecx
mov dl, 1
fstp st(0)
inc ecx
add ebx, 0x24
cmp ecx, ebp
jl 0x52c943
fstp qword [esp + 0x20]
fstp qword [esp + 0x28]
mov edi, ebp
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
test dl, dl
je 0x52ca57
imul ecx, esi, 4
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x90], edi
lea ecx, [ecx + ecx*8]
add ebx, ecx
add eax, ecx
mov edi, dword [ebp + ebx + 0x2c]
mov dword [ebp + eax + 0x2c], edi
mov edi, dword [ebp + ebx + 0x30]
mov dword [ebp + eax + 0x30], edi
mov edi, dword [ebp + ebx + 0x34]
mov dword [ebp + eax + 0x34], edi
mov edi, dword [ebp + ebx + 0x38]
mov dword [ebp + eax + 0x38], edi
mov edi, dword [ebp + ebx + 0x3c]
mov dword [ebp + eax + 0x3c], edi
mov edi, dword [ebp + ebx + 0x40]
mov dword [ebp + eax + 0x40], edi
mov edi, dword [ebp + ebx + 0x44]
mov dword [ebp + eax + 0x44], edi
mov edi, dword [ebp + ebx + 0x48]
mov dword [ebp + eax + 0x48], edi
mov ebx, dword [ebp + ebx + 0x4c]
mov dword [ebp + eax + 0x4c], ebx
mov eax, dword [ebp]
mov ebx, dword [ebp + 0xc]
add eax, eax
imul eax, eax, 4
mov edi, dword [ebx]
lea eax, [eax + eax*8]
add eax, ecx
mov dword [ebp + eax + 0x2c], edi
mov ecx, dword [ebx + 4]
mov dword [ebp + eax + 0x30], ecx
mov ecx, dword [ebx + 8]
mov dword [ebp + eax + 0x34], ecx
mov ecx, dword [ebx + 0xc]
mov dword [ebp + eax + 0x38], ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebp + eax + 0x3c], ecx
mov ecx, dword [ebx + 0x14]
mov dword [ebp + eax + 0x40], ecx
mov ecx, dword [ebx + 0x18]
mov dword [ebp + eax + 0x44], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [ebp + eax + 0x48], ecx
mov ebx, dword [ebx + 0x20]
mov dword [ebp + eax + 0x4c], ebx
mov eax, dword [ebp]
mov ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0x90]
lea ebx, [eax + eax]
shl eax, 2
imul ebx, ebx, 4
lea eax, [eax + eax*8]
add ecx, 0x24
lea ebx, [ebx + ebx*8]
mov dword [ebp + 0xc], ecx
mov dword [esp + 0x18], ebx
lea ebx, [ebp + ebx + 0x2c]
mov dword [esp + 0x1c], ebx
lea ecx, [ebp + eax + 0x2c]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ecx
lea ecx, [ebp + 0x2c]
test dl, dl
jne 0x52c916
jmp 0x52ca8b
fld qword [esp + 0x80]
fchs
mov eax, ebp
call fcn.0052d088
add esp, 0x94
pop ebx
pop ebp
pop esi
pop edi
ret
xor eax, eax
mov edx, ebx
test edi, edi
mov dword [esp + 0x34], eax
jle 0x52cbf9
mov dword [esp + 0x38], edi
mov ebx, edx
mov esi, dword [esp + 0x14]
mov edi, eax
fld dword [ecx + 0x1c]
fcomp dword [ebp + 8]
fnstsw ax
fld dword [ebp + 8]
sahf
fstp dword [esp + 0x58]
mov edx, dword [ebp + 8]
je 0x52cbe3
fld dword [esp + 0x58]
fsub dword [esi + 0x1c]
fld dword [esi + 0x1c]
fsubr dword [ebx + 0x1c]
fld dword [ebx + 0x10]
fsub dword [esi + 0x10]
fxch st(1)
fdivp st(2)
fld dword [esi + 0x10]
fld dword [esi + 0xc]
fmul dword [ebx + 0xc]
fld dword [esi + 8]
fmul dword [ebx + 8]
fld dword [ebx + 4]
fmul dword [esi + 4]
fld dword [ebx]
fmul dword [esi]
fxch st(2)
faddp st(3)
fld dword [0x61ed7c]
fxch st(6)
fmul st(5), st(0)
fst qword [esp + 0x68]
fxch st(4)
faddp st(5)
faddp st(2)
fxch st(3)
fstp dword [ecx + 0x10]
fld dword [ebx + 0x14]
fsub dword [esi + 0x14]
fld dword [esi + 0x14]
fxch st(4)
faddp st(2)
fmul st(2)
fxch st(4)
fcomp st(1)
fnstsw ax
fxch st(2)
faddp st(3)
fxch st(2)
fstp dword [ecx + 0x14]
fld dword [ebx + 0x18]
fsub dword [esi + 0x18]
fld dword [esi + 0x18]
fxch st(3)
mov dword [ecx + 0x1c], edx
fmulp st(1)
faddp st(2)
fxch st(1)
fstp dword [ecx + 0x18]
sahf
jbe 0x52cb69
fchs
fld dword [ebx]
fchs
fld dword [ebx + 4]
fchs
fxch st(1)
fstp dword [ebx]
fstp dword [ebx + 4]
fld dword [ebx + 8]
fchs
fld dword [ebx + 0xc]
fchs
fxch st(1)
fstp dword [ebx + 8]
fstp dword [ebx + 0xc]
fld dword [0x61ed80]
fsub qword [esp + 0x68]
fld dword [0x61ed84]
fcomp st(2)
fnstsw ax
fstp qword [esp + 0x60]
sahf
ja 0x52cc65
fstp st(0)
fld dword [ebx]
fmul qword [esp + 0x68]
fld dword [esi]
fmul qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x60]
fxch st(2)
faddp st(3)
fld qword [esp + 0x68]
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fxch st(5)
fstp dword [ecx]
fld qword [esp + 0x60]
fxch st(3)
fmul dword [ebx + 4]
fxch st(4)
fmul dword [esi + 4]
faddp st(4)
fxch st(3)
fstp dword [ecx + 4]
fmul dword [ebx + 8]
fxch st(2)
fmul dword [esi + 8]
faddp st(2)
fxch st(1)
fstp dword [ecx + 8]
fmul dword [esi + 0xc]
fxch st(1)
fmul dword [ebx + 0xc]
faddp st(1)
fstp dword [ecx + 0xc]
inc edi
add ebx, 0x24
add esi, 0x24
add ecx, 0x24
mov eax, dword [esp + 0x38]
cmp edi, eax
jl 0x52caa7
mov eax, dword [esp + 0x78]
test eax, eax
je 0x52cc1e
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x68], eax
test eax, eax
je 0x52cc1e
mov eax, dword [ebp + 0x14]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x68]
test eax, eax
je 0x52cc53
mov al, byte [esp + 0x70]
test al, al
je 0x52cc43
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x68], eax
test eax, eax
je 0x52cc43
mov eax, dword [ebp + 0x20]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x68]
test eax, eax
je 0x52cc5c
add esp, 0x94
mov eax, 1
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [ebp + 0x10], 0
jmp 0x52cc1e
mov dword [ebp + 0x1c], 0
jmp 0x52cc43
fst dword [esp + 8]
mov eax, dword [esp + 8]
mov edx, eax
and edx, 0x7fffffff
cmp edx, 0x3f800000
jl 0x52cdb0
fstp st(0)
test eax, eax
jle 0x52cda0
fld dword [0x61ed88]
fld dword [0x61ed8c]
fld st(1)
fmul st(0)
fld qword [esp + 0x60]
fmul st(3)
fld st(1)
fmul st(4)
fld dword [0x61edac]
fxch st(3)
fmul st(4), st(0)
fxch st(4)
fadd dword [0x61ed90]
fld st(2)
fmul st(0)
fld qword [esp + 0x68]
fmul st(7)
fxch st(6)
fmul st(2), st(0)
fxch st(1)
fmul st(5), st(0)
fxch st(2)
fadd dword [0x61ed94]
fxch st(5)
fadd dword [0x61edb0]
fxch st(1)
fmul st(5), st(0)
fxch st(2)
fmul st(1), st(0)
fxch st(5)
fadd dword [0x61ed98]
fxch st(1)
fadd dword [0x61edb4]
fxch st(2)
fmul st(1), st(0)
fxch st(5)
fmul st(2), st(0)
fxch st(1)
fadd dword [0x61ed9c]
fxch st(2)
fadd dword [0x61edb8]
fxch st(5)
fmulp st(2)
fld st(3)
fmul st(1)
fxch st(2)
fadd dword [0x61eda0]
fxch st(1)
fmul st(5), st(0)
fxch st(3)
fmulp st(1)
fxch st(4)
fadd dword [0x61edbc]
fxch st(6)
faddp st(4)
fxch st(1)
fmulp st(5)
fxch st(2)
fdivr dword [0x61eda8]
fxch st(4)
fadd dword [0x61edc0]
fmulp st(2)
faddp st(1)
fld dword [0x61edc4]
fld st(2)
fmul st(0)
fxch st(4)
fmul st(2), st(0)
fld st(3)
fmul st(5)
fxch st(3)
fstp qword [esp + 0x60]
fxch st(4)
fmul st(1), st(0)
fxch st(1)
fadd dword [0x61edc8]
fmul st(1)
fadd dword [0x61edcc]
fmul st(1)
fadd dword [0x61edd0]
fmul st(1)
fadd dword [0x61edd4]
fmulp st(1)
fadd dword [0x61edd8]
fmulp st(1)
faddp st(1)
fmulp st(1)
fstp qword [esp + 0x68]
jmp 0x52cb8a
fld dword [0x61eddc]
jmp 0x52cc91
cmp edx, 0x3f000000
jge 0x52ce70
cmp edx, 0x23000000
jg 0x52cde0
fstp st(0)
fld dword [0x61ede0]
jmp 0x52cc91
fld dword [0x61ede4]
fld st(1)
fmul st(0)
fld dword [0x61edfc]
fxch st(1)
fmul st(2), st(0)
fmul st(1), st(0)
fxch st(2)
fadd dword [0x61ede8]
fxch st(1)
fadd dword [0x61ee00]
fxch st(2)
fmul st(1), st(0)
fmul st(2), st(0)
fxch st(1)
fadd dword [0x61edec]
fxch st(2)
fadd dword [0x61ee04]
fxch st(1)
fmul st(2), st(0)
fmul st(1), st(0)
fxch st(2)
fadd dword [0x61edf0]
fxch st(1)
fadd dword [0x61ee08]
fxch st(2)
fmul st(1), st(0)
fmul st(2), st(0)
fxch st(1)
fadd dword [0x61edf4]
fxch st(2)
fadd dword [0x61ee0c]
fxch st(1)
fmul st(2), st(0)
fxch st(2)
fadd dword [0x61edf8]
fmulp st(2)
fdivp st(1)
fmul st(1)
fsubr dword [0x61ee18]
fsubp st(1)
fsubr dword [0x61ee14]
jmp 0x52cc91
test eax, eax
jl 0x52cf70
fsubr dword [0x61ee60]
mov dword [esp + 0x88], ecx
fmul dword [0x61ee64]
fst qword [esp + 0x50]
fstp dword [esp]
call fcn.004eac70
fld dword [0x61ee6c]
fmul qword [esp + 0x50]
fld qword [esp + 0x50]
fmul dword [0x61ee84]
fxch st(1)
fadd dword [0x61ee70]
fxch st(2)
fst dword [esp + 0xc]
fxch st(2)
fmul qword [esp + 0x50]
fxch st(1)
fadd dword [0x61ee88]
fxch st(1)
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x88]
fadd dword [0x61ee74]
fxch st(1)
fmul qword [esp + 0x50]
fxch st(1)
and eax, 0xfffff000
fmul qword [esp + 0x50]
fxch st(1)
fadd dword [0x61ee8c]
fxch st(1)
mov dword [esp + 0x10], eax
fadd dword [0x61ee78]
fxch st(1)
fmul qword [esp + 0x50]
fld dword [esp + 0x10]
fxch st(2)
fmul qword [esp + 0x50]
fxch st(1)
fadd dword [0x61ee90]
fxch st(2)
fmul st(0)
fxch st(1)
fadd dword [0x61ee7c]
fxch st(2)
fmul qword [esp + 0x50]
fxch st(1)
fsubr qword [esp + 0x50]
fxch st(2)
fmul qword [esp + 0x50]
fxch st(1)
fadd dword [0x61ee94]
fld dword [esp + 0x10]
fadd st(4)
fxch st(2)
fadd dword [0x61ee80]
fxch st(2)
fdivp st(3)
fxch st(1)
fmul qword [esp + 0x50]
fdivrp st(1)
fmulp st(2)
faddp st(1)
fadd dword [esp + 0x10]
fmul dword [0x61ee9c]
jmp 0x52cc91
fadd dword [0x61ee1c]
fld dword [0x61ee24]
fld dword [0x61ee3c]
fxch st(2)
fmul dword [0x61ee20]
mov dword [esp + 0x88], ecx
fmul st(1), st(0)
fst dword [esp]
fxch st(1)
fadd dword [0x61ee28]
fxch st(1)
fmul st(2), st(0)
fmul st(1), st(0)
fxch st(2)
fadd dword [0x61ee40]
fxch st(1)
fadd dword [0x61ee2c]
fxch st(2)
fmul st(1), st(0)
fmul st(2), st(0)
fxch st(1)
fadd dword [0x61ee44]
fxch st(2)
fadd dword [0x61ee30]
fxch st(1)
fmul st(2), st(0)
fmul st(1), st(0)
fxch st(2)
fadd dword [0x61ee48]
fxch st(1)
fadd dword [0x61ee34]
fxch st(2)
fmul st(1), st(0)
fmul st(2), st(0)
fxch st(1)
fadd dword [0x61ee4c]
fxch st(2)
fadd dword [0x61ee38]
fxch st(2)
fstp qword [esp + 0x40]
fmulp st(1)
fstp qword [esp + 0x48]
call fcn.004eac70
fld qword [esp + 0x48]
fdiv qword [esp + 0x40]
mov ecx, dword [esp + 0x88]
fmul st(1)
fsub dword [0x61ee54]
faddp st(1)
fmul dword [0x61ee5c]
fsubr dword [0x61ee58]
jmp 0x52cc91
xor eax, eax
mov dword [esp + 0x68], eax
jmp 0x52c84a
fld dword [ebp + 8]
fadd qword [esp + 0x80]
mov eax, ebp
fstp qword [esp + 0x70]
call fcn.0052c508
fld qword [esp + 0x70]
fsub dword [ebp + 8]
mov eax, ebp
call fcn.0052c7c8
add esp, 0x94
mov eax, 1
pop ebx
pop ebp
pop esi
pop edi
ret