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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xe0
mov esi, dword [ebp + 8]
lea eax, [esp + 8]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.004e6330
add esp, 0xc
mov eax, dword [esp + 8]
cmp eax, 2
jne 0x669c38
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0x14]
lea edi, [esp + 8]
lea ebx, [esp + 0x7c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], eax
movsd qword [esp + 0x84], xmm0
mov dword [esp + 0x8c], edx
mov ecx, edi
mov edx, ebx
call fcn.00660a50
mov eax, dword [esp + 8]
cmp eax, 2
jne 0x669c7c
mov eax, edi
mov edi, dword [esp + 0xc]
push 9
push dword [esp + 0x14]
push eax
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 8]
cmp eax, 2
jne 0x669cb2
push ebx
call fcn.004e64c0
add esp, 4
xor ecx, ecx
cmp eax, edi
mov eax, 0xff
setne cl
cmovbe eax, ecx
test al, al
je 0x669b69
movzx eax, al
cmp eax, 0xff
jne 0x669d20
lea ecx, [esp + 8]
lea edx, [esp + 0x70]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], 0
call fcn.0065eef0
mov eax, dword [esp + 8]
cmp eax, 2
jne 0x669cea
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 8]
lea edx, [esp + 0x70]
mov dword [esp + 0xc0], eax
call fcn.0065eef0
mov eax, dword [esp + 8]
cmp eax, 2
jne 0x669cea
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], ebx
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x3c], eax
push edi
push ebx
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x669e80
push edi
push ebx
call fcn.004e54f0
add esp, 8
movss xmm2, dword [esp + 0x3c]
movd xmm1, eax
movd xmm0, edi
xor ecx, ecx
mov ebx, 0x15
mov eax, 1
punpckldq xmm0, xmm1
shufps xmm2, xmmword [esp + 0xb0], 0xd4
shufps xmm0, xmm2, 0x24
jmp 0x669e04
mov ebx, dword [esp + 0x10]
movq xmm1, qword [esp + 0x24]
movsd xmm3, qword [esp + 0x2c]
movsd xmm2, qword [esp + 0x34]
mov edi, dword [esp + 0xc]
movups xmm0, xmmword [esp + 0x14]
mov ecx, ebx
movq qword [esp + 0x98], xmm1
movsd qword [esp + 0xa0], xmm3
movsd qword [esp + 0xa8], xmm2
shr ecx, 8
jmp 0x669e31
movq xmm1, qword [esp + 0x24]
movsd xmm3, qword [esp + 0x2c]
movsd xmm2, qword [esp + 0x34]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
movups xmm0, xmmword [esp + 0x14]
movq qword [esp + 0x58], xmm1
movsd qword [esp + 0x60], xmm3
movsd qword [esp + 0x68], xmm2
jmp 0x669dff
mov ebx, dword [esp + 0x10]
movq xmm1, qword [esp + 0x24]
movsd xmm3, qword [esp + 0x2c]
movsd xmm2, qword [esp + 0x34]
mov edi, dword [esp + 0xc]
movups xmm0, xmmword [esp + 0x14]
mov ecx, ebx
movq qword [esp + 0x58], xmm1
movsd qword [esp + 0x60], xmm3
movsd qword [esp + 0x68], xmm2
jmp 0x669e01
movsd xmm1, qword [esp + 0x24]
movsd xmm3, qword [esp + 0x2c]
movsd xmm2, qword [esp + 0x34]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
movups xmm0, xmmword [esp + 0x14]
movsd qword [esp + 0x40], xmm1
movsd qword [esp + 0x48], xmm3
movsd qword [esp + 0x50], xmm2
jmp 0x669ddb
push edi
push dword [esp + 0x8c]
lea eax, [esp + 0x10]
push eax
call fcn.004e5500
add esp, 0xc
mov eax, dword [esp + 8]
cmp eax, 2
jne 0x669d9d
movups xmm0, xmmword [esp + 0xc]
mov edi, dword [esp + 0x88]
movaps xmmword [esp + 0xc0], xmm0
push ebx
call fcn.004e64c0
add esp, 4
push eax
push edi
lea eax, [esp + 0x10]
push eax
call fcn.004e5500
add esp, 0xc
mov eax, dword [esp + 8]
cmp eax, 2
jne 0x669d9d
movss xmm0, dword [esp + 0xc]
movaps xmm1, xmmword [esp + 0xc0]
mov edi, dword [esp + 0x88]
mov eax, 1
mov ecx, 3
xor edx, edx
movlhps xmm0, xmm1
shufps xmm0, xmm1, 0xe2
jmp 0x669dd6
mov ecx, dword [esp + 0x10]
movsd xmm1, qword [esp + 0x24]
movsd xmm3, qword [esp + 0x2c]
movsd xmm2, qword [esp + 0x34]
mov edi, dword [esp + 0xc]
movups xmm0, xmmword [esp + 0x14]
mov edx, ecx
movsd qword [esp + 0x40], xmm1
movsd qword [esp + 0x48], xmm3
movsd qword [esp + 0x50], xmm2
and edx, 0xffffff00
movzx ebx, cl
or ebx, edx
movq xmm1, qword [esp + 0x50]
movsd xmm3, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x48]
movq qword [esp + 0x68], xmm1
movsd qword [esp + 0x60], xmm2
movsd qword [esp + 0x58], xmm3
mov ecx, ebx
shr ecx, 8
movq xmm1, qword [esp + 0x68]
movsd xmm3, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x60]
movq qword [esp + 0xa8], xmm1
movsd qword [esp + 0xa0], xmm2
movsd qword [esp + 0x98], xmm3
movsd xmm1, qword [esp + 0xa8]
movsd xmm3, qword [esp + 0x98]
movsd xmm2, qword [esp + 0xa0]
shl ecx, 8
movzx edx, bl
or edx, ecx
movsd qword [esi + 0x30], xmm1
movsd qword [esi + 0x28], xmm2
movsd qword [esi + 0x20], xmm3
mov dword [esi], 4
mov dword [esi + 4], eax
mov dword [esi + 0xc], edx
mov dword [esi + 8], edi
movups xmmword [esi + 0x10], xmm0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x8c]
movsd xmm0, qword [esp + 0x7c]
movsd xmm1, qword [esp + 0x84]
test al, al
mov dword [esp + 0x18], eax
movsd qword [esp + 0x10], xmm1
movsd qword [esp + 8], xmm0
je 0x669eb2
mov edi, dword [esp + 0x14]
mov bl, 1
jmp 0x669ed4
lea edi, [esp + 8]
push edi
call fcn.004e64c0
add esp, 4
test eax, eax
je 0x669efd
mov eax, edi
mov edi, dword [esp + 0x14]
mov bl, 0x15
push eax
call fcn.004e64c0
add esp, 4
movss xmm2, dword [esp + 0x3c]
movd xmm0, eax
movd xmm1, edi
mov eax, 1
punpcklqdq xmm0, xmm1
shufps xmm2, xmmword [esp + 0xb0], 0xd4
shufps xmm0, xmm2, 0x22
jmp 0x669e31
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
movaps xmm0, xmmword [esp + 0xb0]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
movlps qword [esi + 0x10], xmm0
mov dword [esi + 0x18], ecx
mov dword [esi], 8
jmp 0x669e76