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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x48
mov ebx, dword [esp + 0x64]
push 0
call fcn.004bc0c0
lea esi, [eax]
pop ecx
lea edi, [esp + 0x20]
xor ebp, ebp
movsd dword es:[edi], dword [esi]
fldz
fldz
fldz
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
fld dword [ebx + 4]
fsub dword [esp + 0x14]
fstp st(3)
fld st(2)
fmul st(0)
fld dword [ebx]
fsub dword [esp + 0x20]
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fsqrt
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp word [esp + 0x60], 1
mov dword [esp + 0x10], eax
je 0x5703d3
cmp word [esp + 0x60], 4
je 0x5703d3
fcompp
xor eax, eax
add esp, 0x48
fstp st(0)
pop ebp
pop edi
pop esi
pop ebx
ret
xor edx, edx
xor edi, edi
cmp byte [edi + 0x814072], 0
jne 0x570400
mov eax, dword [esp + 0x5c]
cmp eax, dword [edi + 0x814074]
jne 0x570400
imul edx, edx, 0x78
add edx, 0x814020
mov ebp, edx
jmp 0x570409
inc edx
add edi, 0x78
cmp edx, 0x20
jl 0x5703d7
test ebp, ebp
jne 0x570431
xor eax, eax
xor ecx, ecx
cmp word [ecx + 0x814070], 0x101
jne 0x570428
imul eax, eax, 0x78
add eax, 0x814020
mov ebp, eax
jmp 0x570431
inc eax
add ecx, 0x78
cmp eax, 0x20
jl 0x570411
test ebp, ebp
jne 0x570490
cmp word [esp + 0x60], 1
jne 0x570490
xor esi, esi
xor edx, edx
mov edi, 0x814020
fld dword [edx + 0x814094]
fstp st(3)
fld dword [esp + 0x10]
fcomp st(3)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x57047a
cmp word [edx + 0x814070], 1
jne 0x57047a
test ebp, ebp
je 0x570478
fld st(2)
fcomp dword [ebp + 0x74]
fnstsw ax
test ah, 0x45
jne 0x57047a
mov ebp, edi
inc esi
add edx, 0x78
add edi, 0x78
cmp esi, 0x20
jl 0x570446
test ebp, ebp
je 0x570490
mov word [ebp + 0x50], 0x101
test ebp, ebp
je 0x570bb0
fld dword [esp + 0x10]
fstp dword [ebp + 0x74]
mov ecx, dword [ebp + 0x54]
cmp ecx, dword [esp + 0x5c]
jne 0x570882
mov ax, word [esp + 0x60]
cmp word [ebp + 0x50], ax
jne 0x570882
cmp word [esp + 0x60], 1
jne 0x570532
fld dword [esp + 0x10]
fcomp dword [0x699350]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x570526
fld dword [esp + 0x10]
fcomp dword [0x699338]
fnstsw ax
test ah, 0x45
jne 0x570510
fld dword [0x699350]
fsub dword [esp + 0x10]
fld dword [0x699354]
fmul dword [esp + 0x68]
fmulp st(1)
fmul dword [0x699358]
fsubr dword [esp + 0x68]
fstp dword [ebp + 0x68]
jmp 0x570607
fld dword [0x699354]
fmul dword [esp + 0x68]
fsubr dword [esp + 0x68]
fstp dword [ebp + 0x68]
jmp 0x570607
fld dword [esp + 0x68]
fstp dword [ebp + 0x68]
jmp 0x570607
cmp word [esp + 0x60], 4
jne 0x570607
fld dword [0x69935c]
fadd dword [esp + 0x68]
fstp st(3)
fld dword [esp + 0x10]
fcomp st(3)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x570600
fld dword [0x699360]
fadd dword [esp + 0x68]
fcomp dword [esp + 0x10]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5705c5
fld st(2)
fsub dword [esp + 0x10]
mov al, byte [esp + 0x78]
and eax, 0xff
fmul dword [0x699364]
mov dword [esp + 0x18], eax
fmul dword [0x699368]
fsubr dword [0x699360]
fimul dword [esp + 0x18]
fnstcw word [esp + 4]
mov eax, dword [esp + 4]
or byte [esp + 5], 0xc
fldcw word [esp + 4]
mov dword [esp + 4], eax
fistp dword [esp + 0x18]
fldcw word [esp + 4]
mov eax, dword [esp + 0x18]
mov byte [ebp + 0x5b], al
jmp 0x570607
mov al, byte [esp + 0x78]
and eax, 0xff
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [0x699354]
fnstcw word [esp + 4]
mov eax, dword [esp + 4]
or byte [esp + 5], 0xc
fldcw word [esp + 4]
mov dword [esp + 4], eax
fistp dword [esp + 0x18]
fldcw word [esp + 4]
mov eax, dword [esp + 0x18]
jmp 0x570604
mov al, byte [esp + 0x78]
mov byte [ebp + 0x5b], al
mov si, word [ebp + 0x5c]
mov edi, dword [0x974b34]
movzx eax, si
sub edi, dword [ebp + 0x60]
mov dword [esp + 0x1c], 0
and esi, 0xffff
dec eax
and edi, eax
mov eax, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x18], eax
fild qword [esp + 0x18]
mov dword [esp + 0x18], esi
fstp st(3)
fild dword [esp + 0x18]
fld dword [0x69936c]
fmul st(4)
fdivrp st(1)
fst st(1)
fsin
fnstsw ax
test eax, 0x400
je 0x57065e
call fcn.00642970
fsin
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp st(3)
fld dword [ebp + 0x68]
fstp st(2)
fld dword [esp + 0x80]
fmul st(2)
fmul st(3)
fsubr st(2)
fstp dword [ebp + 0x6c]
cmp word [esp + 0x60], 1
jne 0x5706c0
fld st(0)
fsin
fnstsw ax
test eax, 0x400
je 0x570699
call fcn.00642970
fsin
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp st(3)
fld dword [0x699370]
fmul dword [ebp + 0x68]
fmul st(3)
fadd dword [ebx + 8]
fstp dword [ebx + 8]
jmp 0x570760
cmp word [esp + 0x60], 0
jne 0x570760
fld st(0)
fsin
fnstsw ax
test eax, 0x400
je 0x5706e0
call fcn.00642970
fsin
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp st(3)
fld st(2)
fcomp dword [0x699340]
fnstsw ax
test ah, 0x45
jne 0x570712
mov al, byte [esp + 0x78]
and eax, 0xff
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [0x699364]
jmp 0x570729
mov al, byte [esp + 0x78]
and eax, 0xff
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [0x699374]
mov al, byte [esp + 0x78]
and eax, 0xff
mov dword [esp + 0x18], eax
fmul st(3)
fiadd dword [esp + 0x18]
fnstcw word [esp + 4]
mov eax, dword [esp + 4]
or byte [esp + 5], 0xc
fldcw word [esp + 4]
mov dword [esp + 4], eax
fistp dword [esp + 0x18]
fldcw word [esp + 4]
mov eax, dword [esp + 0x18]
mov byte [ebp + 0x5b], al
mov dx, word [ebp + 0x5e]
test dx, dx
je 0x570b77
lea eax, [ebp + 0x30]
lea edi, [esp + 0x2c]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsx eax, dx
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1c], eax
mov ecx, ebp
fild dword [esp + 0x1c]
fmul dword [0x97542c]
fmul dword [0x699378]
fmul dword [0x69937c]
fstp dword [esp]
fcompp
fstp st(0)
call fcn.004deed0
fld dword [esp + 0x2c]
fstp dword [ebp + 0x30]
fld dword [esp + 0x30]
fstp dword [ebp + 0x34]
fld dword [esp + 0x34]
fstp dword [ebp + 0x38]
fldz
fldz
cmp word [esp + 0x60], 1
jne 0x5707d7
fld dword [ebx]
fstp dword [ebp + 0x30]
fld dword [ebx + 4]
fstp dword [ebp + 0x34]
fld dword [ebx + 8]
fstp dword [ebp + 0x38]
cmp byte [ebp + 0x53], 0
je 0x570b80
fld dword [esp + 0x14]
fsub dword [ebx + 4]
fstp st(2)
fld st(1)
fmul st(0)
fld dword [ebx]
fstp st(2)
fld dword [esp + 0x20]
fsub st(2)
fstp st(3)
fld st(2)
fmul st(0)
faddp st(1)
fcomp dword [0x699380]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x570b87
fst dword [esp + 0x38]
fld dword [ebx + 4]
lea eax, [esp + 0x38]
fstp dword [esp + 0x3c]
fcompp
push eax
call fcn.0062a0a0
test al, al
pop ecx
je 0x570879
fld dword [0x699360]
fadd dword [ebx + 8]
push 0
push eax
fstp dword [esp]
push dword [ebx + 4]
push dword [ebx]
call fcn.004d53c0
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcomp dword [0x699340]
fnstsw ax
add esp, 0x10
and ah, 0x44
cmp ah, 0x40
je 0x570875
fld dword [0x699358]
fmul dword [esp + 0x68]
fsubr dword [esp + 8]
fstp dword [ebp + 0x38]
mov byte [ebp + 0x53], 0
mov byte [ebp + 0x52], 1
jmp 0x570b6d
test ecx, ecx
je 0x570b90
fcompp
mov dword [ebp + 0x54], 0
mov dword [ebp + 0x60], 0
mov byte [ebp + 0x52], 0
mov byte [ebp + 0x53], 0
mov word [ebp + 0x50], 0x101
mov eax, dword [ebp + 0x48]
push eax
mov edi, dword [eax + 4]
fstp st(0)
call fcn.00640fa0
pop ecx
push edi
call fcn.00644b20
mov dword [ebp + 0x48], 0
pop ecx
mov eax, dword [esp + 0x84]
mov cl, byte [esp + 0x78]
push eax
mov eax, dword [esp + 0x80]
push dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
push ecx
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
mov eax, dword [esp + 0x7c]
mov ecx, ebp
push dword [esp + 0x84]
push eax
push dword [esp + 0x80]
call fcn.00570eb0
cmp word [esp + 0x60], 4
fldz
fldz
je 0x570930
cmp word [esp + 0x60], 0
je 0x570930
cmp word [esp + 0x60], 2
jne 0x570ba7
fld dword [esp + 0x14]
fsub dword [ebx + 4]
fstp st(2)
fld st(1)
fmul st(0)
fld dword [ebx]
fstp st(2)
fld dword [esp + 0x20]
fsub st(2)
fstp st(3)
fld st(2)
fmul st(0)
faddp st(1)
fcomp dword [0x699380]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x570ba0
fst dword [esp + 0x40]
fld dword [ebx + 4]
lea eax, [esp + 0x40]
fstp dword [esp + 0x44]
fcompp
push eax
call fcn.0062a0a0
test al, al
pop ecx
je 0x5709d0
fld dword [0x699360]
fadd dword [ebx + 8]
push 0
push eax
fstp dword [esp]
push dword [ebx + 4]
push dword [ebx]
call fcn.004d53c0
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcomp dword [0x699340]
fnstsw ax
add esp, 0x10
and ah, 0x44
cmp ah, 0x40
je 0x5709c4
fld dword [0x699358]
fmul dword [esp + 0x68]
fsubr dword [esp + 0xc]
fstp dword [ebx + 8]
mov byte [ebp + 0x53], 0
jmp 0x5709d4
mov byte [ebp + 0x53], 1
mov ecx, ebp
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call fcn.004df6f0
cmp word [esp + 0x60], 2
jne 0x570a09
mov ecx, ebp
push dword [0x699378]
call fcn.004df130
fld dword [ebx]
fstp dword [ebp + 0x30]
fld dword [ebx + 4]
fstp dword [ebp + 0x34]
fld dword [ebx + 8]
fstp dword [ebp + 0x38]
mov ecx, ebp
call fcn.004df910
cmp word [esp + 0x60], 1
fldz
jne 0x570a90
fld dword [esp + 0x10]
fcomp dword [0x699350]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x570a80
fld dword [esp + 0x10]
fcomp dword [0x699338]
fnstsw ax
test ah, 0x45
jne 0x570a67
fld dword [0x699350]
fsub dword [esp + 0x10]
fld dword [0x699354]
fmul dword [esp + 0x68]
fmulp st(1)
fmul dword [0x699358]
fsubr dword [esp + 0x68]
fstp dword [ebp + 0x68]
jmp 0x570b67
fld dword [0x699354]
fmul dword [esp + 0x68]
fsubr dword [esp + 0x68]
fstp dword [ebp + 0x68]
jmp 0x570b67
fld dword [esp + 0x68]
fstp dword [ebp + 0x68]
jmp 0x570b67
cmp word [esp + 0x60], 4
jne 0x570b67
fld dword [0x69935c]
fadd dword [esp + 0x68]
fstp st(1)
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x570b60
fld dword [0x699360]
fadd dword [esp + 0x68]
fcomp dword [esp + 0x10]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x570b23
fld st(0)
fsub dword [esp + 0x10]
mov al, byte [esp + 0x78]
and eax, 0xff
fmul dword [0x699364]
mov dword [esp + 0x18], eax
fmul dword [0x699368]
fsubr dword [0x699360]
fimul dword [esp + 0x18]
fnstcw word [esp + 4]
mov eax, dword [esp + 4]
or byte [esp + 5], 0xc
fldcw word [esp + 4]
mov dword [esp + 4], eax
fistp dword [esp + 0x18]
fldcw word [esp + 4]
mov eax, dword [esp + 0x18]
mov byte [ebp + 0x5b], al
jmp 0x570b67
mov al, byte [esp + 0x78]
and eax, 0xff
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [0x699354]
fnstcw word [esp + 4]
mov eax, dword [esp + 4]
or byte [esp + 5], 0xc
fldcw word [esp + 4]
mov dword [esp + 4], eax
fistp dword [esp + 0x18]
fldcw word [esp + 4]
mov eax, dword [esp + 0x18]
jmp 0x570b64
mov al, byte [esp + 0x78]
mov byte [ebp + 0x5b], al
fstp st(0)
mov byte [ebp + 0x52], 1
add esp, 0x48
mov eax, ebp
pop ebp
pop edi
pop esi
pop ebx
ret
fstp st(0)
jmp 0x5707be
fcompp
jmp 0x570879
fcompp
jmp 0x570879
fcompp
fstp st(0)
jmp 0x5708c5
fcompp
jmp 0x5709d0
fcompp
jmp 0x5709d4
fcompp
fstp st(0)
jmp 0x570b6d