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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa0
mov edi, edx
mov esi, ecx
lea ebx, [esp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.004e5780
add esp, 8
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x4c1465
mov eax, ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [edi + 8]
push ebx
mov dword [esp + 0x4c], ecx
push ecx
push eax
call fcn.004e5500
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x4c1532
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x14]
xor edx, edx
cmp eax, ecx
mov dword [esp + 0x44], ecx
mov ecx, 0xff
setne dl
cmovae ecx, edx
test cl, cl
je 0x4c1412
movzx ecx, cl
cmp ecx, 0xff
jne 0x4c14b1
mov dword [edi + 8], eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [edi]
push ebx
lea eax, [esp + 0x14]
push eax
call fcn.004e5780
add esp, 8
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x4c1465
lea ecx, [esp + 0x4c]
mov edx, edi
push dword [esp + 0x14]
call fcn.004bd2f0
add esp, 4
mov eax, dword [esp + 0x4c]
cmp eax, 2
jne 0x4c15d2
mov edx, dword [edi]
mov ecx, esi
push ebx
push dword [ebp + 8]
call fcn.004c1830
add esp, 8
jmp 0x4c15ca
mov edx, dword [esp + 0x40]
movsd xmm0, qword [esp + 0x38]
movsd xmm2, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x30], edx
movsd qword [esi + 0x28], xmm0
movsd qword [esi + 0x20], xmm2
movsd qword [esi + 0x18], xmm1
movsd xmm2, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x18]
movsd qword [esi + 0x10], xmm2
movsd qword [esi + 8], xmm1
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x4c15ca
mov edi, dword [edi]
mov eax, dword [edi]
mov eax, dword [eax]
push ebx
push dword [eax + 0xc]
lea eax, [esp + 0x18]
push eax
call fcn.004e5500
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x4c1532
mov eax, dword [edi]
movups xmm0, xmmword [esp + 0x14]
mov eax, dword [eax]
movaps xmmword [esp + 0x80], xmm0
mov ebx, dword [eax + 0xc]
push dword [esp + 0x48]
push dword [esp + 0x48]
call fcn.004e54f0
add esp, 8
push eax
push ebx
lea eax, [esp + 0x18]
push eax
call fcn.004e5500
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x4c1532
mov eax, dword [edi]
movss xmm0, dword [esp + 0x14]
movaps xmm1, xmmword [esp + 0x80]
mov dl, 3
mov eax, dword [eax]
movlhps xmm0, xmm1
shufps xmm0, xmm1, 0xe2
mov ecx, dword [eax + 0xc]
mov eax, 1
jmp 0x4c1582
movsd xmm2, qword [esp + 0x2c]
movzx edi, word [esp + 0x19]
mov dh, byte [esp + 0x1b]
movsd xmm1, qword [esp + 0x24]
movsd xmm3, qword [esp + 0x34]
mov ecx, dword [esp + 0x14]
mov dl, byte [esp + 0x18]
movsd xmm0, qword [esp + 0x1c]
movsd qword [esp + 0x54], xmm2
movsd xmm2, qword [esp + 0x3c]
mov word [esp + 0xc], di
mov byte [esp + 0xe], dh
movsd qword [esp + 0x4c], xmm1
movsd qword [esp + 0x5c], xmm3
movsd qword [esp + 0x64], xmm2
mov dh, byte [esp + 0xe]
movzx edi, word [esp + 0xc]
movsd xmm2, qword [esp + 0x54]
movsd xmm1, qword [esp + 0x4c]
movsd xmm3, qword [esp + 0x5c]
mov byte [esi + 0xb], dh
mov word [esi + 9], di
movsd qword [esi + 0x1c], xmm2
movsd xmm2, qword [esp + 0x64]
movsd qword [esi + 0x14], xmm1
movsd qword [esi + 0x24], xmm3
movsd qword [esi + 0x2c], xmm2
mov dword [esi], eax
mov dword [esi + 4], ecx
mov byte [esi + 8], dl
movlps qword [esi + 0xc], xmm0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movsd xmm1, qword [esp + 0x70]
movsd xmm2, qword [esp + 0x68]
movsd xmm0, qword [esp + 0x78]
movsd qword [esi + 0x24], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esi + 0x1c], xmm2
movsd xmm2, qword [esp + 0x50]
movsd qword [esi + 0x2c], xmm0
movsd qword [esi + 0x14], xmm1
movsd xmm1, qword [esp + 0x58]
movsd qword [esi + 4], xmm2
movsd qword [esi + 0xc], xmm1
mov dword [esi], eax
jmp 0x4c15ca