Function at 0x570340
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.004bc0a0
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 0x5703b3
cmp word [esp + 0x60], 4
je 0x5703b3
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 + 0x81406a], 0
jne 0x5703e0
mov eax, dword [esp + 0x5c]
cmp eax, dword [edi + 0x81406c]
jne 0x5703e0
imul edx, edx, 0x78
add edx, 0x814018
mov ebp, edx
jmp 0x5703e9
inc edx
add edi, 0x78
cmp edx, 0x20
jl 0x5703b7
test ebp, ebp
jne 0x570411
xor eax, eax
xor ecx, ecx
cmp word [ecx + 0x814068], 0x101
jne 0x570408
imul eax, eax, 0x78
add eax, 0x814018
mov ebp, eax
jmp 0x570411
inc eax
add ecx, 0x78
cmp eax, 0x20
jl 0x5703f1
test ebp, ebp
jne 0x570470
cmp word [esp + 0x60], 1
jne 0x570470
xor esi, esi
xor edx, edx
mov edi, 0x814018
fld dword [edx + 0x81408c]
fstp st(3)
fld dword [esp + 0x10]
fcomp st(3)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x57045a
cmp word [edx + 0x814068], 1
jne 0x57045a
test ebp, ebp
je 0x570458
fld st(2)
fcomp dword [ebp + 0x74]
fnstsw ax
test ah, 0x45
jne 0x57045a
mov ebp, edi
inc esi
add edx, 0x78
add edi, 0x78
cmp esi, 0x20
jl 0x570426
test ebp, ebp
je 0x570470
mov word [ebp + 0x50], 0x101
test ebp, ebp
je 0x570b90
fld dword [esp + 0x10]
fstp dword [ebp + 0x74]
mov ecx, dword [ebp + 0x54]
cmp ecx, dword [esp + 0x5c]
jne 0x570862
mov ax, word [esp + 0x60]
cmp word [ebp + 0x50], ax
jne 0x570862
cmp word [esp + 0x60], 1
jne 0x570512
fld dword [esp + 0x10]
fcomp dword [0x699350]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x570506
fld dword [esp + 0x10]
fcomp dword [0x699338]
fnstsw ax
test ah, 0x45
jne 0x5704f0
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 0x5705e7
fld dword [0x699354]
fmul dword [esp + 0x68]
fsubr dword [esp + 0x68]
fstp dword [ebp + 0x68]
jmp 0x5705e7
fld dword [esp + 0x68]
fstp dword [ebp + 0x68]
jmp 0x5705e7
cmp word [esp + 0x60], 4
jne 0x5705e7
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 0x5705e0
fld dword [0x699360]
fadd dword [esp + 0x68]
fcomp dword [esp + 0x10]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5705a5
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 0x5705e7
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 0x5705e4
mov al, byte [esp + 0x78]
mov byte [ebp + 0x5b], al
mov si, word [ebp + 0x5c]
mov edi, dword [0x974b2c]
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 0x57063e
call fcn.00642920
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 0x5706a0
fld st(0)
fsin
fnstsw ax
test eax, 0x400
je 0x570679
call fcn.00642920
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 0x570740
cmp word [esp + 0x60], 0
jne 0x570740
fld st(0)
fsin
fnstsw ax
test eax, 0x400
je 0x5706c0
call fcn.00642920
fsin
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp st(3)
fld st(2)
fcomp dword [0x699340]
fnstsw ax
test ah, 0x45
jne 0x5706f2
mov al, byte [esp + 0x78]
and eax, 0xff
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [0x699364]
jmp 0x570709
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 0x570b57
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 [0x975424]
fmul dword [0x699378]
fmul dword [0x69937c]
fstp dword [esp]
fcompp
fstp st(0)
call fcn.004deeb0
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 0x5707b7
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 0x570b60
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 0x570b67
fst dword [esp + 0x38]
fld dword [ebx + 4]
lea eax, [esp + 0x38]
fstp dword [esp + 0x3c]
fcompp
push eax
call fcn.0062a050
test al, al
pop ecx
je 0x570859
fld dword [0x699360]
fadd dword [ebx + 8]
push 0
push eax
fstp dword [esp]
push dword [ebx + 4]
push dword [ebx]
call fcn.004d53a0
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcomp dword [0x699340]
fnstsw ax
add esp, 0x10
and ah, 0x44
cmp ah, 0x40
je 0x570855
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 0x570b4d
test ecx, ecx
je 0x570b70
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.00640f50
pop ecx
push edi
call fcn.00644ad0
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.00570e90
cmp word [esp + 0x60], 4
fldz
fldz
je 0x570910
cmp word [esp + 0x60], 0
je 0x570910
cmp word [esp + 0x60], 2
jne 0x570b87
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 0x570b80
fst dword [esp + 0x40]
fld dword [ebx + 4]
lea eax, [esp + 0x40]
fstp dword [esp + 0x44]
fcompp
push eax
call fcn.0062a050
test al, al
pop ecx
je 0x5709b0
fld dword [0x699360]
fadd dword [ebx + 8]
push 0
push eax
fstp dword [esp]
push dword [ebx + 4]
push dword [ebx]
call fcn.004d53a0
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcomp dword [0x699340]
fnstsw ax
add esp, 0x10
and ah, 0x44
cmp ah, 0x40
je 0x5709a4
fld dword [0x699358]
fmul dword [esp + 0x68]
fsubr dword [esp + 0xc]
fstp dword [ebx + 8]
mov byte [ebp + 0x53], 0
jmp 0x5709b4
mov byte [ebp + 0x53], 1
mov ecx, ebp
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call fcn.004df6d0
cmp word [esp + 0x60], 2
jne 0x5709e9
mov ecx, ebp
push dword [0x699378]
call fcn.004df110
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.004df8f0
cmp word [esp + 0x60], 1
fldz
jne 0x570a70
fld dword [esp + 0x10]
fcomp dword [0x699350]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x570a60
fld dword [esp + 0x10]
fcomp dword [0x699338]
fnstsw ax
test ah, 0x45
jne 0x570a47
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 0x570b47
fld dword [0x699354]
fmul dword [esp + 0x68]
fsubr dword [esp + 0x68]
fstp dword [ebp + 0x68]
jmp 0x570b47
fld dword [esp + 0x68]
fstp dword [ebp + 0x68]
jmp 0x570b47
cmp word [esp + 0x60], 4
jne 0x570b47
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 0x570b40
fld dword [0x699360]
fadd dword [esp + 0x68]
fcomp dword [esp + 0x10]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x570b03
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 0x570b47
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 0x570b44
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 0x57079e
fcompp
jmp 0x570859
fcompp
jmp 0x570859
fcompp
fstp st(0)
jmp 0x5708a5
fcompp
jmp 0x5709b0
fcompp
jmp 0x5709b4
fcompp
fstp st(0)
jmp 0x570b4d