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

Disassembly:
sub esp, 0x6c
movq xmm0, qword [esp + 0x74]
mov edx, dword [esp + 0x7c]
push ebx
push ebp
push esi
push edi
sub esp, 0xc
movq qword [esp + 0x48], xmm0
mov eax, esp
mov dword [esp + 0x50], edx
mov ebx, ecx
mov dword [esp + 0x24], ebx
movq qword [eax], xmm0
mov dword [eax + 8], edx
lea eax, [esp + 0x54]
push eax
call fcn.004beba0
mov ecx, dword [esp + 0x58]
lea eax, [esp + 0x4c]
add esp, 0x10
mov dword [esp + 0x58], 0
lea ecx, [ecx + 0x201]
push eax
lea eax, [esp + 0x18]
shl ecx, 6
push eax
add ecx, ebx
call fcn.004c4c90
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4c9d3b
mov eax, dword [esp + 0x80]
mov dword [eax], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov eax, dword [esp + 0x8c]
movq xmm0, qword [esp + 0x84]
mov byte [esp + 0x13], 0
movq qword [esp + 0x5c], xmm0
mov dword [esp + 0x64], eax
push dword [esp + 0x88]
push dword [esp + 0x88]
test al, al
jne 0x4c9d78
lea eax, [esp + 0x24]
push eax
call fcn.004bea30
jmp 0x4c9d82
lea eax, [esp + 0x34]
push eax
call fcn.004beb00
movups xmm0, xmmword [eax]
add esp, 0xc
mov dword [esp + 0x78], 0
movd edi, xmm0
movups xmmword [esp + 0x68], xmm0
lea edi, [edi + 0x601]
shl edi, 6
add edi, ebx
push edi
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov esi, dword [esp + 0x6c]
mov ebp, dword [edi + 8]
and esi, ebp
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + esi*4]
lea ebx, [eax + esi*4]
test ecx, ecx
je 0x4c9e28
mov eax, ecx
and eax, 0xe0000000
cmp eax, dword [esp + 0x70]
jne 0x4c9e18
mov eax, dword [edi + 0x10]
and ecx, 0x1fffffff
mov edx, ecx
movzx ecx, cx
shr edx, 0x10
mov eax, dword [eax + edx*4 + 0xc]
lea edx, [eax + ecx*4]
mov ax, word [edx + 4]
cmp ax, word [esp + 0x74]
jne 0x4c9e18
movq xmm0, qword [esp + 0x5c]
sub esp, 0xc
mov eax, dword [esp + 0x70]
mov ecx, esp
push edx
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.004be870
add esp, 0x10
test al, al
jne 0x4c9f36
mov eax, dword [edi + 0xc]
inc esi
and esi, ebp
mov ecx, dword [eax + esi*4]
lea ebx, [eax + esi*4]
test ecx, ecx
jne 0x4c9dc1
lea eax, [esp + 0x5c]
mov byte [esp + 0x13], 1
push eax
push ebx
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
call fcn.004be700
mov ebp, dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
push edi
call ebp
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x58], esi
lea edi, [edi + 0x201]
shl edi, 6
add edi, edx
cmp byte [esp + 0x13], 0
jne 0x4c9f9f
movq xmm0, qword [esp + 0x3c]
sub esp, 0xc
mov eax, dword [esp + 0x50]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, esi
shr eax, 0x10
movzx ecx, si
mov eax, dword [edx + eax*4 + 0xc]
lea eax, [eax + ecx*4]
push eax
call fcn.004be8f0
add esp, 0x10
test al, al
jne 0x4c9f9b
push edi
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [edi + 8]
mov esi, dword [esp + 0x4c]
and esi, eax
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc]
lea ebx, [eax + esi*4]
mov eax, dword [ebx]
test eax, eax
je 0x4c9f77
nop dword [eax + eax]
mov ecx, eax
and ecx, 0xe0000000
cmp ecx, dword [esp + 0x50]
jne 0x4c9f23
and eax, 0x1fffffff
mov edx, eax
movzx ecx, ax
mov eax, dword [edi + 0x10]
shr edx, 0x10
mov eax, dword [eax + edx*4 + 0xc]
lea edx, [eax + ecx*4]
mov ax, word [edx + 4]
cmp ax, word [esp + 0x54]
jne 0x4c9f23
movq xmm0, qword [esp + 0x3c]
sub esp, 0xc
mov eax, dword [esp + 0x50]
mov ecx, esp
push edx
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.004be8f0
add esp, 0x10
test al, al
jne 0x4c9f54
mov eax, dword [edi + 0xc]
inc esi
and esi, dword [esp + 0x18]
lea ebx, [eax + esi*4]
mov eax, dword [ebx]
test eax, eax
jne 0x4c9ed0
jmp 0x4c9f56
mov esi, dword [ebx]
test esi, esi
je 0x4c9e28
mov ebp, dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
and esi, 0x1fffffff
push edi
call ebp
jmp 0x4c9e4c
mov eax, dword [ebx]
test eax, eax
je 0x4c9f77
mov esi, dword [esp + 0x80]
and eax, 0x1fffffff
push edi
mov dword [esi], eax
call ebp
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov esi, dword [esp + 0x80]
lea eax, [esp + 0x3c]
push eax
push ebx
push esi
mov ecx, edi
call fcn.004be7b0
push edi
call ebp
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov esi, dword [esp + 0x58]
movups xmm0, xmmword [esp + 0x48]
push esi
sub esp, 0x10
mov ecx, edi
mov eax, esp
movups xmmword [eax], xmm0
call fcn.004c60d0
mov esi, dword [esp + 0x80]
mov eax, esi
mov ecx, dword [esp + 0x58]
pop edi
mov dword [esi], ecx
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10