Function at 0x457510
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 0x457571
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x457571
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.004553c0
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret 0x18
fld qword [0x4c1410]
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.0049dc50
fld dword [esp + 0x34]
fadd st(1)
mov dword [esp + 0x14], eax
call fcn.0049dc50
fld dword [esp + 0x38]
mov ebp, eax
fadd st(1)
mov dword [esp + 0x18], ebp
call fcn.0049dc50
fld dword [esp + 0x3c]
mov ebx, eax
fadd st(1)
mov dword [esp + 0x24], ebx
call fcn.0049dc50
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 0x457be5
fxch st(2)
fcomp dword [esp + 0x84]
fnstsw ax
test ah, 5
jp 0x457be7
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.00458c80
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 [0x4c1410]
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.00458c80
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.00455340
lea ecx, [esp + 0x18]
lea edx, [esp + 0x94]
call fcn.004574b0
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.00455340
lea ecx, [esp + 0x18]
lea edx, [esp + 0x94]
call fcn.004574b0
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.00455340
lea ecx, [esp + 0x18]
lea edx, [esp + 0x94]
call fcn.004574b0
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.00455340
lea ecx, [esp + 0x18]
lea edx, [esp + 0x94]
call fcn.004574b0
add esi, 1
add esp, 0xc
cmp esi, ebx
mov dword [esp + 0x28], esi
jge 0x4579c5
fld dword [esp + 0x84]
fld dword [esp + 0x8c]
push ebp
push esi
lea edx, [esp + 0x94]
push edx
mov edx, edi
call fcn.00455340
mov ebp, eax
mov eax, dword [esp + 0x10]
push eax
push esi
lea ecx, [esp + 0x34]
push ecx
mov edx, edi
call fcn.00455340
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 0x45788c
fstp st(1)
fstp st(0)
add ebp, 1
cmp ebp, dword [esp + 0x10]
mov dword [esp + 0x8c], ebp
jge 0x457bde
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.00455340
push ebp
mov esi, eax
push ebx
lea eax, [esp + 0x2c]
push eax
mov edx, edi
call fcn.00455340
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 0x4579e1
mov ebp, dword [esp + 0x8c]
fstp st(1)
cmp ebp, dword [esp + 0x10]
fstp st(0)
jge 0x457bde
mov esi, dword [esp + 0x28]
cmp esi, ebx
jge 0x457bd1
nop
push ebp
push esi
lea eax, [esp + 0x34]
push eax
mov edx, edi
call fcn.00455340
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 0x457b30
add ebp, 1
cmp ebp, dword [esp + 0x10]
jl 0x457b23
fldz
jmp 0x457d8d
fstp st(2)
cmp ebp, ecx
mov dword [esp + 0x24], ebp
jg 0x457d8b
mov ebp, dword [esp + 0x14]
cmp ebp, ebx
mov dword [esp + 0x20], ebp
jg 0x457d76
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 0x457c30
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.00458c80
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 [0x4c1410]
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.004553c0
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 [0x4c1410]
mov dword [esp + 0x20], ebp
jle 0x457c30
fldz
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, dword [esp + 0x10]
mov dword [esp + 0x24], eax
jle 0x457bf3
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 [0x4c1430]
fcom st(1)
fnstsw ax
fld dword [0x4c163c]
test ah, 5
jp 0x457e06
fstp st(2)
fxch st(1)
fst dword [esp + 0x7c]
jmp 0x457e1b
fxch st(2)
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x457e19
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 0x457e6f
fstp st(0)
fst dword [esp + 0x80]
jmp 0x457e83
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x457e83
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 0x457eda
fstp st(0)
fst dword [esp + 0x88]
jmp 0x457eee
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x457eee
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 0x457fa8
fld dword [esp + 0xc]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x457f4c
fstp st(1)
fstp st(1)
fstp dword [esp + 0xc]
jmp 0x457f59
fstp st(0)
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x457f46
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