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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov dword [esp + 0x4c], edx
mov edi, ecx
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x48], ecx
lock inc dword [ebx]
jle 0x4dd98b
movsd xmm0, qword [ebx + 0x48]
lea esi, [ebx + 0x60]
movaps xmmword [esp + 0x50], xmm0
movsd xmm0, qword [ebx + 0x40]
mov eax, dword [eax + 0x64]
movaps xmmword [esp + 0x60], xmm0
movsd xmm0, qword [eax + 8]
movaps xmmword [esp + 0x70], xmm0
movsd xmm0, qword [ebx + 0x10]
movaps xmmword [esp + 0x90], xmm0
movq xmm0, qword [ebx + 0x20]
movdqa xmmword [esp + 0x80], xmm0
push esi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov eax, dword [0x6f11c4]
test eax, 0x7fffffff
jne 0x4dd5d2
mov al, byte [esi + 4]
test al, al
je 0x4dd4ed
mov eax, dword [0x6f11c4]
test eax, 0x7fffffff
je 0x4dd5ec
call fcn.005c0960
test al, al
jne 0x4dd5ec
mov byte [esi + 4], 1
jmp 0x4dd5ec
lea eax, [esi + 4]
mov dword [esp + 0xc], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
lea edi, [ebx + 0x88]
push edi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov eax, dword [0x6f11c4]
test eax, 0x7fffffff
jne 0x4dd8ea
mov al, byte [edi + 4]
mov ecx, edi
test al, al
je 0x4dd570
mov edi, dword [esp + 0xc]
mov eax, dword [0x6f11c4]
test eax, 0x7fffffff
jne 0x4dd91f
push ecx
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
cmp byte [esp + 0x1c], 0
jne 0x4dd5ec
mov eax, dword [0x6f11c4]
test eax, 0x7fffffff
je 0x4dd5ec
call fcn.005c0960
test al, al
jne 0x4dd5ec
mov eax, dword [esp + 0x18]
mov byte [eax], 1
jmp 0x4dd5ec
lea eax, [ecx + 4]
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], 0
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx + 1]
movdqa xmm0, xmmword [ecx]
lea edi, [ecx + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x84]
pmovmskb edx, xmm0
mov dword [esp + 8], eax
cmp dx, 0xffff
mov eax, dword [esp + 0xc]
lea eax, [eax + 0x30]
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], ebx
je 0x4dd610
mov eax, edx
mov esi, 0xfffffffe
not eax
sub esi, edx
mov edx, eax
and edx, esi
mov esi, ecx
jmp 0x4dd64b
call fcn.005c0960
mov cl, byte [esi + 4]
xor al, 1
test cl, cl
je 0x4dd90b
test al, al
je 0x4dd4c7
push esi
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov dword [edi + 0x30], 0
lock dec dword [ebx]
jne 0x4dd8c4
mov ecx, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.00403fc0
mov esi, ecx
mov ecx, dword [esp + 0x34]
nop word cs:[eax + eax]
cmp edi, ecx
jae 0x4dd8cc
movdqa xmm0, xmmword [edi]
add esi, 0xffffff80
add edi, 0x10
pmovmskb eax, xmm0
cmp ax, 0xffff
je 0x4dd620
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov edx, eax
and edx, ecx
mov ecx, esi
mov dword [esp + 0x14], edx
mov edx, dword [esp + 8]
mov ebx, 0xffffffff
dec edx
mov dword [esp + 8], edx
inc edx
cmovne ebx, edx
test ebx, ebx
js 0x4dd99d
bsf ax, ax
movzx eax, ax
shl eax, 3
sub ecx, eax
mov al, byte [ecx - 4]
mov byte [esp + 0x10], al
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4dd697
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4dd98f
mov dword [0x6f1130], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4dd98f
mov cl, byte [esp + 0x10]
mov byte [eax], cl
mov ecx, 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], 1
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x14]
test cx, cx
je 0x4dd6e0
dec dword [esp + 8]
lea edx, [ecx - 1]
and edx, ecx
mov dword [esp + 0x14], edx
jmp 0x4dd721
mov edx, dword [esp + 0x34]
nop word cs:[eax + eax]
nop
cmp edi, edx
jae 0x4dd77f
movdqa xmm0, xmmword [edi]
add esi, 0xffffff80
add edi, 0x10
pmovmskb ecx, xmm0
cmp cx, 0xffff
je 0x4dd6f0
mov edx, 0xfffffffe
sub edx, ecx
not ecx
mov ebx, ecx
and ebx, edx
mov dword [esp + 0x14], ebx
dec dword [esp + 8]
bsf cx, cx
mov edx, esi
movzx ecx, cx
shl ecx, 3
sub edx, ecx
mov ecx, dword [esp + 0x10]
mov bl, byte [edx - 4]
cmp ecx, dword [esp + 0x40]
je 0x4dd757
mov byte [eax + ecx], bl
inc ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x14]
test cx, cx
jne 0x4dd6d0
jmp 0x4dd6e0
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ecx, 0xffffffff
inc eax
cmove eax, ecx
lea ecx, [esp + 0x3c]
push eax
call fcn.005f2340
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x3c]
jmp 0x4dd73c
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
movq xmm0, qword [esp + 0x3c]
mov dword [ecx + 8], eax
movq qword [ecx], xmm0
movdqa xmm0, xmmword [esp + 0x50]
movd dword [esp + 0x14], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x10], xmm0
movdqa xmm0, xmmword [esp + 0x60]
movd dword [esp + 0x50], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 8], xmm0
movdqa xmm0, xmmword [esp + 0x70]
movd dword [esp + 0x60], xmm0
pshufd xmm0, xmm0, 0x55
movdqa xmm4, xmmword [esp + 0x80]
movdqa xmm3, xmmword [esp + 0x90]
movd ebx, xmm0
pshufd xmm2, xmm4, 0x55
movd dword [esp + 0x70], xmm3
movd dword [esp + 0x90], xmm4
pshufd xmm1, xmm3, 0x55
movd dword [esp + 0x80], xmm2
movd edi, xmm1
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0xc]
lea edx, [eax + 0x90]
lea ecx, [esi + 0x3c]
call fcn.00507430
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 8]
cmp byte [esp + 0x28], 0
mov dword [esi], ecx
mov ecx, dword [esp + 0x50]
mov dword [esi + 4], eax
mov dword [esi + 0xc], edx
mov edx, dword [esp + 0x60]
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x70]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], ebx
mov edx, dword [esp + 0x80]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x18], ecx
mov ecx, dword [esp + 0x90]
mov dword [esi + 0x24], edx
mov edx, dword [esp + 0x4c]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x48]
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], ecx
jne 0x4dd88d
mov eax, dword [0x6f11c4]
test eax, 0x7fffffff
jne 0x4dd959
push dword [esp + 0x2c]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
cmp byte [esp + 0x1c], 0
mov esi, dword [esp + 0x30]
jne 0x4dd8b1
mov eax, dword [0x6f11c4]
test eax, 0x7fffffff
jne 0x4dd972
push esi
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov ebx, dword [esp + 0x38]
lock dec dword [ebx]
je 0x4dd602
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x6dd4e0]
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
jmp 0x4dd794
call fcn.005c0960
mov cl, byte [edi + 4]
xor al, 1
test cl, cl
mov ecx, edi
je 0x4dd941
mov edi, dword [esp + 0xc]
test al, al
jne 0x4dd539
jmp 0x4dd529
lea ecx, [esi + 4]
mov dword [esp + 0xc], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x4dd500
mov dword [esp + 0xc], edi
mov edi, ecx
call fcn.005c0960
mov ecx, edi
mov edi, dword [esp + 0xc]
test al, al
jne 0x4dd539
mov byte [ecx + 4], 1
jmp 0x4dd539
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ecx
add ecx, 4
mov dword [esp + 0x20], ecx
jmp 0x4dd587
call fcn.005c0960
test al, al
jne 0x4dd88d
mov eax, dword [esp + 0x20]
mov byte [eax], 1
jmp 0x4dd88d
call fcn.005c0960
test al, al
jne 0x4dd8b1
mov eax, dword [esp + 0x18]
mov byte [eax], 1
jmp 0x4dd8b1
ud2
mov ecx, ebx
mov edx, 1
call fcn.0040a640
ud2
call fcn.0040a620
ud2