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

Disassembly:
fld1
sub esp, 0x68
fld dword [esp + 0x7c]
push ebx
fcom st(1)
push ebp
push esi
fnstsw ax
fld dword [esp + 0x84]
test ah, 0x41
jp 0x53f7e1
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x53f7e1
mov eax, dword [esp + 0x8c]
fstp st(0)
mov esi, dword [esp + 0x78]
fstp st(0)
push eax
fstp st(0)
fld dword [esp + 0x84]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x88]
fstp dword [esp]
push esi
push edi
call fcn.0053d630
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret 0x18
fld qword [0x640688]
fmul st(1), st(0)
fld dword [esp + 0x7c]
fld st(0)
fsub st(3)
fstp dword [esp + 0x30]
fld st(3)
fmul st(2)
fld dword [esp + 0x80]
fld st(0)
fsub st(2)
fstp dword [esp + 0x34]
fxch st(2)
faddp st(4)
fxch st(3)
fstp dword [esp + 0x38]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x30]
fadd st(1)
call fcn.005f4400
fld dword [esp + 0x34]
fadd st(1)
mov dword [esp + 0x14], eax
call fcn.005f4400
fld dword [esp + 0x38]
mov ebp, eax
fadd st(1)
mov dword [esp + 0x18], ebp
call fcn.005f4400
fld dword [esp + 0x3c]
mov ebx, eax
fadd st(1)
mov dword [esp + 0x24], ebx
call fcn.005f4400
fldz
fst dword [esp + 0xc]
mov ecx, eax
fst dword [esp + 0x88]
mov dword [esp + 0x10], ecx
fst dword [esp + 0x80]
fst dword [esp + 0x7c]
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x53fe55
fxch st(2)
fcomp dword [esp + 0x84]
fnstsw ax
test ah, 5
jp 0x53fe57
fstp st(0)
lea ecx, [esp + 0x50]
fild dword [esp + 0x14]
lea esi, [esp + 0x60]
lea edx, [esp + 0x30]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fld st(0)
fsub st(2)
fstp dword [esp + 0x50]
fild dword [esp + 0x18]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fld st(0)
fsub st(3)
fstp dword [esp + 0x54]
fxch st(1)
fadd st(2)
fstp dword [esp + 0x58]
faddp st(1)
fstp dword [esp + 0x5c]
call fcn.00540e10
fild dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x40], ecx
fstp dword [esp + 0x84]
mov ecx, dword [eax + 8]
fld dword [esp + 0x84]
mov dword [esp + 0x44], edx
fld st(0)
mov edx, dword [eax + 0xc]
fld qword [0x640688]
mov dword [esp + 0x48], ecx
fsub st(1), st(0)
mov dword [esp + 0x4c], edx
fxch st(1)
lea ecx, [esp + 0x50]
lea esi, [esp + 0x60]
fstp dword [esp + 0x50]
lea edx, [esp + 0x30]
fild dword [esp + 0x10]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fld st(0)
fsub st(2)
fstp dword [esp + 0x54]
fxch st(2)
fadd st(1)
fstp dword [esp + 0x58]
faddp st(1)
fstp dword [esp + 0x5c]
call fcn.00540e10
fld dword [esp + 0x48]
mov ecx, dword [eax]
fsub dword [esp + 0x40]
mov edx, dword [eax + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 8]
fstp dword [esp + 0x20]
mov dword [esp + 0x58], ecx
fld dword [esp + 0x4c]
mov dword [esp + 0x54], edx
fsub dword [esp + 0x44]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x5c], edx
lea eax, [esp + 0x80]
fstp dword [esp + 0x84]
push eax
fld dword [esp + 0x5c]
lea ecx, [esp + 0x80]
fsub dword [esp + 0x54]
push ecx
fstp dword [esp + 0x2c]
fld dword [esp + 0x64]
fsub dword [esp + 0x5c]
fstp dword [esp + 0x94]
fld dword [esp + 0x8c]
fmul dword [esp + 0x28]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
push ecx
fstp dword [esp]
push ebp
push esi
lea edx, [esp + 0x3c]
push edx
mov edx, edi
call fcn.0053d5b0
lea ecx, [esp + 0x18]
lea edx, [esp + 0x94]
call fcn.0053f720
fld dword [esp + 0x30]
fmul dword [esp + 0x90]
add esp, 0xc
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x80]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
push ecx
push ecx
fstp dword [esp]
push ebp
push ebx
lea edx, [esp + 0x3c]
push edx
mov edx, edi
call fcn.0053d5b0
lea ecx, [esp + 0x18]
lea edx, [esp + 0x94]
call fcn.0053f720
fld dword [esp + 0x98]
fmul dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
add esp, 0xc
lea eax, [esp + 0x80]
push eax
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
lea ecx, [esp + 0x80]
push ecx
push ecx
fstp dword [esp]
push edx
push esi
lea eax, [esp + 0x3c]
push eax
mov edx, edi
call fcn.0053d5b0
lea ecx, [esp + 0x18]
lea edx, [esp + 0x94]
call fcn.0053f720
fld dword [esp + 0x98]
fmul dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
add esp, 0xc
lea ecx, [esp + 0x80]
push ecx
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
lea edx, [esp + 0x80]
push edx
push ecx
fstp dword [esp]
push eax
push ebx
lea ecx, [esp + 0x3c]
push ecx
mov edx, edi
call fcn.0053d5b0
lea ecx, [esp + 0x18]
lea edx, [esp + 0x94]
call fcn.0053f720
add esi, 1
add esp, 0xc
cmp esi, ebx
mov dword [esp + 0x28], esi
jge 0x53fc35
fld dword [esp + 0x84]
fld dword [esp + 0x8c]
push ebp
push esi
lea edx, [esp + 0x94]
push edx
mov edx, edi
call fcn.0053d5b0
mov ebp, eax
mov eax, dword [esp + 0x10]
push eax
push esi
lea ecx, [esp + 0x34]
push ecx
mov edx, edi
call fcn.0053d5b0
movzx edx, byte [ebp + 2]
movzx ecx, byte [eax + 2]
mov dword [esp + 0x84], edx
movzx edx, byte [ebp + 1]
fild dword [esp + 0x84]
mov dword [esp + 0x84], edx
fmul st(2)
movzx edx, byte [ebp]
fadd dword [esp + 0x7c]
add esi, 1
cmp esi, ebx
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
mov dword [esp + 0x7c], ecx
fild dword [esp + 0x7c]
movzx ecx, byte [eax + 1]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x7c]
fild dword [esp + 0x84]
mov dword [esp + 0x84], edx
movzx edx, byte [ebp + 3]
mov ebp, dword [esp + 0x18]
fmul st(2)
fadd dword [esp + 0x80]
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
mov dword [esp + 0x80], ecx
fild dword [esp + 0x80]
movzx ecx, byte [eax]
movzx eax, byte [eax + 3]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x80]
fld st(1)
fild dword [esp + 0x84]
fmulp st(1)
fadd dword [esp + 0x88]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
mov dword [esp + 0x84], ecx
fild dword [esp + 0x84]
mov dword [esp + 0x84], edx
fmul st(2)
faddp st(1)
fstp dword [esp + 0x88]
fild dword [esp + 0x84]
fmul st(2)
fadd dword [esp + 0xc]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
mov dword [esp + 0x84], eax
fild dword [esp + 0x84]
fmul st(2)
faddp st(1)
fstp dword [esp + 0xc]
jl 0x53fafc
fstp st(1)
fstp st(0)
add ebp, 1
cmp ebp, dword [esp + 0x10]
mov dword [esp + 0x8c], ebp
jge 0x53fe4e
fld dword [esp + 0x20]
fld dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push ebp
push ecx
lea edx, [esp + 0x34]
push edx
mov edx, edi
call fcn.0053d5b0
push ebp
mov esi, eax
push ebx
lea eax, [esp + 0x2c]
push eax
mov edx, edi
call fcn.0053d5b0
movzx ecx, byte [esi + 2]
movzx edx, byte [eax + 2]
mov dword [esp + 0x84], ecx
movzx ecx, byte [esi + 1]
fild dword [esp + 0x84]
mov dword [esp + 0x84], ecx
fmul st(2)
movzx ecx, byte [esi]
fadd dword [esp + 0x7c]
add ebp, 1
cmp ebp, dword [esp + 0x10]
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
mov dword [esp + 0x7c], edx
fild dword [esp + 0x7c]
movzx edx, byte [eax + 1]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x7c]
fild dword [esp + 0x84]
mov dword [esp + 0x84], ecx
movzx ecx, byte [esi + 3]
fmul st(2)
fadd dword [esp + 0x80]
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
mov dword [esp + 0x80], edx
fild dword [esp + 0x80]
movzx edx, byte [eax]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x80]
fild dword [esp + 0x84]
fmul st(2)
fadd dword [esp + 0x88]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
mov dword [esp + 0x84], edx
fild dword [esp + 0x84]
movzx edx, byte [eax + 3]
mov dword [esp + 0x84], ecx
fmul st(2)
faddp st(1)
fstp dword [esp + 0x88]
fild dword [esp + 0x84]
fmul st(2)
fadd dword [esp + 0xc]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
mov dword [esp + 0x84], edx
fild dword [esp + 0x84]
fmul st(2)
faddp st(1)
fstp dword [esp + 0xc]
jl 0x53fc51
mov ebp, dword [esp + 0x8c]
fstp st(1)
cmp ebp, dword [esp + 0x10]
fstp st(0)
jge 0x53fe4e
mov esi, dword [esp + 0x28]
cmp esi, ebx
jge 0x53fe41
nop
push ebp
push esi
lea eax, [esp + 0x34]
push eax
mov edx, edi
call fcn.0053d5b0
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x10
movzx edx, cl
mov dword [esp + 0x8c], edx
mov ecx, eax
fild dword [esp + 0x8c]
shr ecx, 8
movzx edx, cl
fadd dword [esp + 0x7c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x84], eax
movzx ecx, byte [esp + 0x84]
fstp dword [esp + 0x7c]
fild dword [esp + 0x8c]
mov dword [esp + 0x8c], ecx
fadd dword [esp + 0x80]
shr eax, 0x18
add esi, 1
cmp esi, ebx
fstp dword [esp + 0x80]
fild dword [esp + 0x8c]
mov dword [esp + 0x8c], eax
fadd dword [esp + 0x88]
fstp dword [esp + 0x88]
fild dword [esp + 0x8c]
fadd dword [esp + 0xc]
fstp dword [esp + 0xc]
jl 0x53fda0
add ebp, 1
cmp ebp, dword [esp + 0x10]
jl 0x53fd93
fldz
jmp 0x53fffd
fstp st(2)
cmp ebp, ecx
mov dword [esp + 0x24], ebp
jg 0x53fffb
mov ebp, dword [esp + 0x14]
cmp ebp, ebx
mov dword [esp + 0x20], ebp
jg 0x53ffe6
fstp st(0)
fild dword [esp + 0x24]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fld st(0)
fsub st(2)
fstp dword [esp + 0x54]
fadd st(1)
fstp dword [esp + 0x5c]
jmp 0x53fea0
fild dword [esp + 0x20]
lea ecx, [esp + 0x50]
lea esi, [esp + 0x60]
lea edx, [esp + 0x30]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fld st(0)
fsub st(2)
fstp dword [esp + 0x50]
faddp st(1)
fstp dword [esp + 0x58]
call fcn.00540e10
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x48], edx
fld dword [esp + 0x48]
fadd dword [esp + 0x40]
mov dword [esp + 0x4c], eax
fld qword [0x640688]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x8c]
fmul st(1), st(0)
fxch st(1)
push ecx
sub esp, 8
fstp dword [esp + 0x24]
lea edx, [esp + 0x38]
fld dword [esp + 0x58]
fadd dword [esp + 0x50]
fmulp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esp + 0x24]
fstp dword [esp]
push edx
push edi
call fcn.0053d630
fld dword [esp + 0x48]
fsub dword [esp + 0x40]
mov eax, dword [eax]
fld dword [esp + 0x4c]
mov ecx, eax
fsub dword [esp + 0x44]
shr ecx, 0x10
movzx edx, cl
mov dword [esp + 0x28], edx
fmulp st(1)
mov ecx, eax
shr ecx, 8
movzx edx, cl
fstp dword [esp + 0x20]
fild dword [esp + 0x28]
fld dword [esp + 0x20]
mov dword [esp + 0x28], edx
fld st(0)
mov dword [esp + 0x84], eax
fmulp st(2)
movzx ecx, byte [esp + 0x84]
fld dword [esp + 0x7c]
faddp st(2)
shr eax, 0x18
fxch st(1)
fstp dword [esp + 0x7c]
fild dword [esp + 0x28]
mov dword [esp + 0x28], ecx
fmul st(1)
fadd dword [esp + 0x80]
fstp dword [esp + 0x80]
fld st(0)
fild dword [esp + 0x28]
mov dword [esp + 0x28], eax
fmulp st(1)
fadd dword [esp + 0x88]
fstp dword [esp + 0x88]
fild dword [esp + 0x28]
fmulp st(1)
fadd dword [esp + 0xc]
add ebp, 1
fstp dword [esp + 0xc]
cmp ebp, ebx
fld qword [0x640688]
mov dword [esp + 0x20], ebp
jle 0x53fea0
fldz
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, dword [esp + 0x10]
mov dword [esp + 0x24], eax
jle 0x53fe63
fstp st(1)
fld dword [esp + 0x3c]
fsub dword [esp + 0x34]
fld dword [esp + 0x38]
fsub dword [esp + 0x30]
fmulp st(1)
fstp dword [esp + 0x8c]
fld dword [esp + 0x7c]
fld dword [esp + 0x8c]
fld st(0)
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x7c]
fld dword [esp + 0x80]
fdiv st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x88]
fdiv st(1)
fstp dword [esp + 0x88]
fdivr dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [esp + 0x7c]
fld qword [0x6406a8]
fcom st(1)
fnstsw ax
fld dword [0x6408dc]
test ah, 5
jp 0x540076
fstp st(2)
fxch st(1)
fst dword [esp + 0x7c]
jmp 0x54008b
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x540089
fxch st(2)
fst dword [esp + 0x7c]
fxch st(2)
fxch st(1)
fld dword [esp + 0x7c]
fnstcw word [esp + 0x7c]
movzx eax, word [esp + 0x7c]
or eax, 0xc00
mov dword [esp + 0x8c], eax
fldcw word [esp + 0x8c]
fistp dword [esp + 0x8c]
mov dl, byte [esp + 0x8c]
mov byte [esp + 0x86], dl
fldcw word [esp + 0x7c]
fld dword [esp + 0x80]
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x5400df
fstp st(0)
fst dword [esp + 0x80]
jmp 0x5400f3
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x5400f3
fxch st(2)
fst dword [esp + 0x80]
fxch st(2)
fld dword [esp + 0x80]
fnstcw word [esp + 0x7c]
movzx eax, word [esp + 0x7c]
or eax, 0xc00
mov dword [esp + 0x80], eax
fldcw word [esp + 0x80]
fistp dword [esp + 0x80]
mov al, byte [esp + 0x80]
mov byte [esp + 0x85], al
fldcw word [esp + 0x7c]
fld dword [esp + 0x88]
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x54014a
fstp st(0)
fst dword [esp + 0x88]
jmp 0x54015e
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x54015e
fxch st(2)
fst dword [esp + 0x88]
fxch st(2)
fld dword [esp + 0x88]
fnstcw word [esp + 0x7c]
movzx eax, word [esp + 0x7c]
or eax, 0xc00
cmp dword [edi + 0x1bc], 0
mov dword [esp + 0x80], eax
fldcw word [esp + 0x80]
fistp dword [esp + 0x80]
mov cl, byte [esp + 0x80]
mov byte [esp + 0x84], cl
fldcw word [esp + 0x7c]
je 0x540218
fld dword [esp + 0xc]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x5401bc
fstp st(1)
fstp st(1)
fstp dword [esp + 0xc]
jmp 0x5401c9
fstp st(0)
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x5401b6
fstp st(0)
fld dword [esp + 0xc]
fnstcw word [esp + 0x7c]
movzx eax, word [esp + 0x7c]
or eax, 0xc00
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x78]
fldcw word [esp + 0x80]
fistp dword [esp + 0x80]
mov dl, byte [esp + 0x80]
mov byte [esp + 0x87], dl
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
fldcw word [esp + 0x7c]
pop esi
pop ebp
pop ebx
add esp, 0x68
ret 0x18
mov ecx, dword [esp + 0x84]
fstp st(2)
mov eax, dword [esp + 0x78]
fstp st(0)
pop esi
fstp st(0)
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x68
ret 0x18