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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0xa0
call fcn.0057e0e0
test al, al
jne 0x57c91c
call fcn.0057e0c0
test al, al
je 0x57c927
add esp, 0xa0
pop ebp
pop edi
pop esi
pop ebx
ret
mov ecx, 0x7e4688
call fcn.0046f70b
test al, al
je 0x57c960
call fcn.004bc1e0
test eax, eax
je 0x57c960
mov ecx, eax
call fcn.005b7910
test al, al
je 0x57c960
push 0x50
call fcn.00560870
pop ecx
add esp, 0xa0
pop ebp
pop edi
pop esi
pop ebx
ret
fld dword [0x975340]
fcomp dword [0x69a000]
fnstsw ax
test ah, 0x45
jne 0x57c990
mov dword [0x77f028], 1
mov dword [0x699ee0], 0x320
jmp 0x57c9c4
cmp dword [0x77f028], 0
je 0x57c9c4
cmp dword [0x699ee0], 0
jle 0x57c9b0
call fcn.0057d340
dec dword [0x699ee0]
jmp 0x57c9c4
mov dword [0x77f028], 0
mov dword [0x699ee0], 0x320
fld dword [0x97533c]
fcomp dword [0x69a080]
fnstsw ax
test ah, 0x45
jne 0x57c9dc
call fcn.0057d160
fldz
fld dword [0x975340]
fcomp dword [0x69a084]
fnstsw ax
test ah, 0x45
jne 0x57d147
fld dword [0x69a088]
fmul dword [0x975340]
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 [0x975340]
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 0x57ca54
fld dword [0x69a08c]
fstp st(1)
fld dword [0x69a058]
fmul dword [0x975340]
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 0x57d150
fld dword [0x69a004]
fmul st(1)
fsub dword [0x69a000]
mov esi, 0x7e46b8
mov dword [esp + 4], esi
fstp dword [esp + 0x1c]
fstp st(0)
mov ebp, dword [0x9b48e4]
call fcn.006499f0
and eax, 0xffff
mov dword [esp + 0x20], ebp
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov edx, dword [0x9b48e8]
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.006499f0
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.006499f0
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 [0x975340]
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.006499f0
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.00563cc0
add esp, 0x28
mov ebp, dword [0x9b48e4]
call fcn.006499f0
and eax, 0xffff
mov dword [esp + 0x20], ebp
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov edx, dword [0x9b48e8]
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.006499f0
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.006499f0
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 [0x975340]
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.006499f0
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.00563cc0
add esp, 0x28
mov edi, dword [0x9b48e4]
call fcn.006499f0
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.006499f0
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 [0x975340]
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.006499f0
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.00563cc0
add esp, 0x28
call fcn.006499f0
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.006499f0
movsx eax, ax
mov edx, eax
and edx, 1
je 0x57cf04
call fcn.006499f0
movzx eax, ax
and eax, 0xff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul dword [0x69a098]
jmp 0x57cf20
and eax, 0xff
add eax, 0xffffff80
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul dword [0x69a09c]
fadd dword [0x7e47e8]
fstp dword [esp + 0x14]
fldz
fld dword [esp + 0x14]
fsin
fnstsw ax
test eax, 0x400
je 0x57cf3c
call fcn.00642920
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 0x57cf6c
call fcn.00642920
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.004d8b00
add esp, 0x2c
test al, al
je 0x57d12a
fld dword [0x69a084]
fadd dword [esp + 0x58]
xor ebp, ebp
test ebx, ebx
fstp dword [esp + 0x34]
jle 0x57d12a
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.006499f0
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.006499f0
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.006499f0
movzx eax, ax
and eax, 1
je 0x57d0d4
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 0x57d119
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.00563cc0
add esp, 0x28
inc ebp
cmp ebp, ebx
jl 0x57d010
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0xc]
jl 0x57cab4
add esp, 0xa0
pop ebp
pop edi
pop esi
pop ebx
ret
fstp st(0)
jmp 0x57d13c
fstp st(0)
jmp 0x57d13c