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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0xa0
call fcn.0057e100
test al, al
jne 0x57c93c
call fcn.0057e0e0
test al, al
je 0x57c947
add esp, 0xa0
pop ebp
pop edi
pop esi
pop ebx
ret
mov ecx, 0x7e4690
call fcn.0046f70b
test al, al
je 0x57c980
call fcn.004bc200
test eax, eax
je 0x57c980
mov ecx, eax
call fcn.005b7930
test al, al
je 0x57c980
push 0x50
call fcn.00560890
pop ecx
add esp, 0xa0
pop ebp
pop edi
pop esi
pop ebx
ret
fld dword [0x975348]
fcomp dword [0x69a000]
fnstsw ax
test ah, 0x45
jne 0x57c9b0
mov dword [0x77f028], 1
mov dword [0x699ee0], 0x320
jmp 0x57c9e4
cmp dword [0x77f028], 0
je 0x57c9e4
cmp dword [0x699ee0], 0
jle 0x57c9d0
call fcn.0057d360
dec dword [0x699ee0]
jmp 0x57c9e4
mov dword [0x77f028], 0
mov dword [0x699ee0], 0x320
fld dword [0x975344]
fcomp dword [0x69a080]
fnstsw ax
test ah, 0x45
jne 0x57c9fc
call fcn.0057d180
fldz
fld dword [0x975348]
fcomp dword [0x69a084]
fnstsw ax
test ah, 0x45
jne 0x57d167
fld dword [0x69a088]
fmul dword [0x975348]
mov eax, dword [0x77f02c]
mov dword [esp + 0x28], eax
fnstcw word [esp + 0x10]
mov eax, dword [esp + 0x10]
or byte [esp + 0x11], 0xc
fldcw word [esp + 0x10]
mov dword [esp + 0x10], eax
fistp dword [esp + 0x20]
fldcw word [esp + 0x10]
fld dword [0x69a06c]
fmul dword [0x975348]
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], eax
fstp st(1)
fld dword [0x69a08c]
fcomp st(1)
fnstsw ax
test ah, 0x45
jne 0x57ca74
fld dword [0x69a08c]
fstp st(1)
fld dword [0x69a058]
fmul dword [0x975348]
fnstcw word [esp + 0x10]
mov eax, dword [esp + 0x10]
or byte [esp + 0x11], 0xc
fldcw word [esp + 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
fistp dword [esp + 0x20]
fldcw word [esp + 0x10]
mov ebx, dword [esp + 0x20]
add ebx, 0xf
cmp dword [esp + 0xc], 0
jle 0x57d170
fld dword [0x69a004]
fmul st(1)
fsub dword [0x69a000]
mov esi, 0x7e46c0
mov dword [esp + 4], esi
fstp dword [esp + 0x1c]
fstp st(0)
mov ebp, dword [0x9b48ec]
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x20], ebp
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov edx, dword [0x9b48f0]
fild dword [esp + 0x20]
mov edi, edx
shr edi, 0x1f
fmul dword [0x699fec]
fmulp st(1)
fnstcw word [esp + 0x10]
mov eax, dword [esp + 0x10]
or byte [esp + 0x11], 0xc
fldcw word [esp + 0x10]
mov dword [esp + 0x10], eax
fistp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, 0x66666667
imul edx
fldcw word [esp + 0x10]
fild dword [esp + 0x20]
fstp dword [esp + 0x2c]
sar edx, 1
add edi, edx
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x20], edi
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], 0
fild dword [esp + 0x20]
mov dword [esp + 0x38], 0
fmul dword [0x699fec]
fmulp st(1)
fnstcw word [esp + 0x10]
mov eax, dword [esp + 0x10]
or byte [esp + 0x11], 0xc
fldcw word [esp + 0x10]
mov dword [esp + 0x10], eax
fistp dword [esp + 0x20]
fldcw word [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fstp dword [esp + 0x30]
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x40], 0
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul dword [0x699fec]
fmul dword [0x69a06c]
fadd dword [0x69a090]
fstp dword [esp + 0x3c]
fld dword [0x975348]
fnstcw word [esp + 0x10]
mov eax, dword [esp + 0x10]
or byte [esp + 0x11], 0xc
fldcw word [esp + 0x10]
mov dword [esp + 0x10], eax
fistp dword [esp + 0x20]
fldcw word [esp + 0x10]
mov edi, dword [esp + 0x20]
and edi, 3
call fcn.00649a40
and eax, 0xffff
lea ecx, [esp + 0x28]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
push 0
push edi
fmul dword [0x699fec]
push 0
push 0
fmul dword [0x69a094]
push ecx
push eax
fadd dword [0x69a084]
fstp dword [esp]
lea eax, [esp + 0x44]
lea edx, [esp + 0x50]
push 0
push edx
push eax
push 0x50
call fcn.00563ce0
add esp, 0x28
mov ebp, dword [0x9b48ec]
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x20], ebp
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov edx, dword [0x9b48f0]
fild dword [esp + 0x20]
mov edi, edx
mov ebp, edx
fmul dword [0x699fec]
fmulp st(1)
fnstcw word [esp + 0x10]
mov eax, dword [esp + 0x10]
or byte [esp + 0x11], 0xc
fldcw word [esp + 0x10]
mov dword [esp + 0x10], eax
cmp edi, 0x80000000
fistp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, 0x66666667
sbb edi, 0xffffffff
shr ebp, 0x1f
imul edx
fldcw word [esp + 0x10]
fild dword [esp + 0x20]
sar edi, 1
fstp dword [esp + 0x2c]
sar edx, 1
add ebp, edx
call fcn.00649a40
and eax, 0xffff
sub edi, ebp
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], 0
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 0
fild dword [esp + 0x20]
fmul dword [0x699fec]
fmulp st(1)
fnstcw word [esp + 0x10]
mov eax, dword [esp + 0x10]
or byte [esp + 0x11], 0xc
fldcw word [esp + 0x10]
mov dword [esp + 0x10], eax
fistp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
fldcw word [esp + 0x10]
add eax, ebp
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fstp dword [esp + 0x30]
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x40], 0
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul dword [0x699fec]
fmul dword [0x69a06c]
fadd dword [0x69a090]
fstp dword [esp + 0x3c]
fld dword [0x975348]
fnstcw word [esp + 0x10]
mov eax, dword [esp + 0x10]
or byte [esp + 0x11], 0xc
fldcw word [esp + 0x10]
mov dword [esp + 0x10], eax
fistp dword [esp + 0x20]
fldcw word [esp + 0x10]
mov ebp, dword [esp + 0x20]
and ebp, 3
call fcn.00649a40
and eax, 0xffff
lea ecx, [esp + 0x28]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
push 0
push ebp
fmul dword [0x699fec]
push 0
push 0
fmul dword [0x69a094]
push ecx
push eax
fadd dword [0x69a084]
fstp dword [esp]
lea eax, [esp + 0x44]
lea edx, [esp + 0x50]
push 0
push edx
push eax
push 0x50
call fcn.00563ce0
add esp, 0x28
mov edi, dword [0x9b48ec]
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x20], edi
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], 0
fild dword [esp + 0x20]
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
fmul dword [0x699fec]
fmulp st(1)
fnstcw word [esp + 0x10]
mov eax, dword [esp + 0x10]
or byte [esp + 0x11], 0xc
fldcw word [esp + 0x10]
mov dword [esp + 0x10], eax
fistp dword [esp + 0x20]
fldcw word [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fstp dword [esp + 0x2c]
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x40], 0
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul dword [0x699fec]
fmul dword [0x69a06c]
fadd dword [0x69a090]
fstp dword [esp + 0x3c]
fld dword [0x975348]
fnstcw word [esp + 0x10]
mov eax, dword [esp + 0x10]
or byte [esp + 0x11], 0xc
fldcw word [esp + 0x10]
mov dword [esp + 0x10], eax
fistp dword [esp + 0x20]
fldcw word [esp + 0x10]
mov edi, dword [esp + 0x20]
and edi, 3
call fcn.00649a40
and eax, 0xffff
lea ecx, [esp + 0x28]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
push 0
push edi
fmul dword [0x699fec]
push 0
push 0
fmul dword [0x69a094]
push ecx
push eax
fadd dword [0x69a084]
fstp dword [esp]
lea eax, [esp + 0x44]
lea ebp, [esp + 0x50]
push 0
push ebp
push eax
push 0x50
call fcn.00563ce0
add esp, 0x28
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul dword [0x699fec]
fmul dword [esp + 0x1c]
fadd dword [0x69a000]
fstp dword [esp + 0x18]
call fcn.00649a40
movsx eax, ax
mov edx, eax
and edx, 1
je 0x57cf24
call fcn.00649a40
movzx eax, ax
and eax, 0xff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul dword [0x69a098]
jmp 0x57cf40
and eax, 0xff
add eax, 0xffffff80
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul dword [0x69a09c]
fadd dword [0x7e47f0]
fstp dword [esp + 0x14]
fldz
fld dword [esp + 0x14]
fsin
fnstsw ax
test eax, 0x400
je 0x57cf5c
call fcn.00642970
fsin
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp st(1)
mov eax, dword [esp + 4]
fld dword [esp + 0x18]
fmul st(1)
fadd dword [eax]
fstp dword [esp + 0x2c]
fld dword [esp + 0x14]
fcos
fnstsw ax
test eax, 0x400
je 0x57cf8c
call fcn.00642970
fcos
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp st(1)
fld dword [esp + 0x18]
fmul st(1)
fadd dword [esi + 4]
mov dword [esp + 0x34], 0
lea ecx, [esp + 0x78]
lea eax, [esp + 0x50]
fstp dword [esp + 0x30]
fld dword [esp + 0x2c]
fadd dword [0x69a000]
push 0
push 0
fstp dword [esp + 0x84]
fld dword [esp + 0x38]
fadd dword [0x69a000]
push 1
push 0
fstp dword [esp + 0x90]
fld dword [esp + 0x44]
fadd dword [0x69a08c]
push 0
push 0
push 1
push ecx
push eax
lea eax, [esp + 0xa0]
fstp dword [esp + 0xa8]
push dword [0x69a0a0]
push eax
fstp st(0)
call fcn.004d8b20
add esp, 0x2c
test al, al
je 0x57d14a
fld dword [0x69a084]
fadd dword [esp + 0x58]
xor ebp, ebp
test ebx, ebx
fstp dword [esp + 0x34]
jle 0x57d14a
mov eax, eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul dword [0x699fec]
fmul dword [0x69a090]
fadd dword [0x69a0a4]
fadd dword [esp + 0x44]
fstp dword [esp + 0x44]
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul dword [0x699fec]
fmul dword [0x69a090]
fadd dword [0x69a0a4]
fadd dword [esp + 0x48]
fstp dword [esp + 0x48]
call fcn.00649a40
movzx eax, ax
and eax, 1
je 0x57d0f4
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0
lea edx, [esp + 0x88]
mov dword [esp + 0x8c], 0
push 0
push 0
push 0
push 0
push eax
lea eax, [esp + 0x58]
mov dword [esp + 0xa4], 0
push dword [0x69a000]
push 0
push edx
push eax
push 0x24
jmp 0x57d139
lea eax, [esp + 0x28]
mov dword [esp + 0x94], 0
lea ecx, [esp + 0x94]
mov dword [esp + 0x98], 0
push 0
push 0
push 0
push 0
push eax
lea eax, [esp + 0x58]
mov dword [esp + 0xb0], 0
push dword [0x69a000]
push 0
push ecx
push eax
push 0x26
call fcn.00563ce0
add esp, 0x28
inc ebp
cmp ebp, ebx
jl 0x57d030
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0xc]
jl 0x57cad4
add esp, 0xa0
pop ebp
pop edi
pop esi
pop ebx
ret
fstp st(0)
jmp 0x57d15c
fstp st(0)
jmp 0x57d15c