Function at 0x577800
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 [0x70b5c0]
push 0x14
call fcn.00554b70
fild dword [ebp + 0x14]
mov ecx, dword [0x70b5c0]
push 0
fstp dword [esp + 0x48]
push 1
fild dword [ebp + 0xc]
fld qword [0x674618]
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.00554470
mov ecx, dword [0x70b5c0]
push 0x142
call fcn.00554500
mov ecx, dword [0x70b5c0]
push 2
push 2
push 0
call fcn.005544b0
mov ecx, dword [0x70b5c0]
push 0
push 3
push 0
call fcn.005544b0
mov ecx, dword [0x70b5c0]
push 4
push 1
push 0
call fcn.005544b0
mov ecx, dword [0x70b5c0]
push 2
push 5
push 0
call fcn.005544b0
mov ecx, dword [0x70b5c0]
push 0
push 6
push 0
call fcn.005544b0
mov ecx, dword [0x70b5c0]
push 4
push 4
push 0
call fcn.005544b0
mov eax, dword [esi + 0x14]
sub eax, dword [esi + 0x10]
mov dword [esp + 0x20], 0
sar eax, 2
test eax, eax
jbe 0x578078
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
mov ebx, dword [esp + 0x20]
sar ecx, 2
cmp ebx, ecx
jb 0x577904
call fcn.006121a6
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 [0x674248]
sar ecx, 2
fmul dword [esp + 0x4c]
fsubp st(1)
fstp dword [esp + 0x1c]
cmp ebx, ecx
jb 0x577939
call fcn.006121a6
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 [0x674248]
sub ecx, edx
sar ecx, 2
fmul dword [esp + 0x48]
fsubp st(1)
fstp dword [esp + 0x24]
cmp ebx, ecx
jb 0x577967
call fcn.006121a6
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 0x577985
call fcn.006121a6
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 0x5779a0
call fcn.006121a6
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 0x5779bb
call fcn.006121a6
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 0x5779d4
call fcn.006121a6
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 0x577a30
call fcn.006121a6
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + edi]
add eax, edi
mov edi, dword [0x70b5c0]
call fcn.00562f30
mov ecx, eax
call fcn.0041eda0
push eax
push 0
mov ecx, edi
call fcn.00554470
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 0x577ab2
fld qword [0x674620]
mov edi, 0xff
fld qword [0x674618]
jmp 0x577b03
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x577acb
fld qword [0x674620]
xor edi, edi
fld qword [0x674618]
jmp 0x577b03
fld st(0)
fld qword [0x674620]
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(1), st(0)
fld qword [0x674618]
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 0x577b19
fstp st(0)
mov edx, 0xff
jmp 0x577b4e
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x577b28
fstp st(0)
xor edx, edx
jmp 0x577b4e
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 0x577b64
fstp st(0)
mov ecx, 0xff
jmp 0x577b99
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x577b73
fstp st(0)
xor ecx, ecx
jmp 0x577b99
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 0x577baf
fstp st(0)
mov eax, 0xff
jmp 0x577be4
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x577bbe
fstp st(0)
xor eax, eax
jmp 0x577be4
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 0x577c35
mov edi, 0xff
jmp 0x577c6a
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x577c42
xor edi, edi
jmp 0x577c6a
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 0x577c80
fstp st(0)
mov edx, 0xff
jmp 0x577cb5
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x577c8f
fstp st(0)
xor edx, edx
jmp 0x577cb5
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 0x577ccb
fstp st(0)
mov ecx, 0xff
jmp 0x577d00
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x577cda
fstp st(0)
xor ecx, ecx
jmp 0x577d00
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 0x577d14
mov eax, 0xff
jmp 0x577d49
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x577d21
xor eax, eax
jmp 0x577d49
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 0x577dab
mov edi, 0xff
jmp 0x577de0
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x577db8
xor edi, edi
jmp 0x577de0
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 0x577df6
fstp st(0)
mov edx, 0xff
jmp 0x577e2b
fcom st(6)
fnstsw ax
test ah, 0x41
jp 0x577e05
fstp st(0)
xor edx, edx
jmp 0x577e2b
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 0x577e3f
mov ecx, 0xff
jmp 0x577e74
fcom st(6)
fnstsw ax
test ah, 0x41
jp 0x577e4c
xor ecx, ecx
jmp 0x577e74
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 0x577e86
mov eax, 0xff
jmp 0x577ebb
fcom st(6)
fnstsw ax
test ah, 0x41
jp 0x577e93
xor eax, eax
jmp 0x577ebb
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 0x577f14
fstp st(0)
mov edi, 0xff
jmp 0x577f49
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x577f23
fstp st(0)
xor edi, edi
jmp 0x577f49
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 0x577f5f
fstp st(0)
mov edx, 0xff
jmp 0x577f94
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x577f6e
fstp st(0)
xor edx, edx
jmp 0x577f94
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 0x577fa8
fstp st(0)
mov ecx, 0xff
jmp 0x577fdd
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x577fb7
fstp st(0)
xor ecx, ecx
jmp 0x577fdd
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 0x577ff7
fstp st(1)
mov eax, 0xff
fstp st(2)
fstp st(0)
fstp st(0)
jmp 0x578032
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x57800c
fstp st(2)
xor eax, eax
fstp st(0)
fstp st(0)
jmp 0x578032
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 [0x70b5c0]
push 2
push 5
mov dword [esp + 0xb4], eax
call fcn.00554710
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 0x5778ee
mov ecx, dword [0x70b5c0]
push 0x14
call fcn.00554b90
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14