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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x54
mov dword [esp + 0x24], edx
mov edi, ecx
mov ebx, dword [ecx + 0xc]
mov ecx, ebx
inc ecx
je 0x48e0d2
mov ebp, dword [edi + 4]
lea eax, [ebp + 1]
mov edx, eax
shr edx, 3
mov esi, eax
and esi, 0xfffffff8
sub esi, edx
cmp ebp, 8
mov dword [esp + 0x10], ebp
cmovb esi, ebp
mov edx, esi
shr edx, 1
cmp ecx, edx
jbe 0x48dcbf
inc esi
cmp ecx, esi
cmova esi, ecx
cmp esi, 8
jae 0x48dd1c
xor eax, eax
cmp esi, 4
setae al
lea eax, [eax*4 + 4]
jmp 0x48dedb
mov dword [esp + 0xc], ebx
mov edx, eax
shr edx, 4
xor ecx, ecx
test al, 0xf
setne cl
mov dword [esp + 0x18], edi
mov ebx, dword [edi]
add ecx, edx
je 0x48dcf9
movdqa xmm0, xmmword [0x4936b0]
mov edx, ebx
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [edx]
por xmm1, xmm0
movdqa xmmword [edx], xmm1
add edx, 0x10
dec ecx
jne 0x48dce3
cmp eax, 0x10
mov edi, dword [esp + 0x10]
jae 0x48dd3b
lea ecx, [ebx + 0x10]
push eax
push ebx
push ecx
call fcn.0047eb10
add esp, 0xc
cmp edi, 0xffffffff
jne 0x48dd44
xor ecx, ecx
jmp 0x48dea5
cmp esi, 0x20000000
jae 0x48e0d2
shl esi, 3
cmp esi, 0xe
jae 0x48debd
xor eax, eax
jmp 0x48deda
movdqu xmm0, xmmword [ebx]
movdqu xmmword [ebx + eax], xmm0
mov dword [esp + 0x14], esi
xor edx, edx
mov ebp, ebx
cmp byte [ebx + edx], 0x80
jne 0x48de91
mov eax, edx
not eax
shl eax, 5
add eax, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 4], edx
mov eax, edx
shl eax, 5
mov ecx, ebx
sub ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x20]
push dword [eax - 0x18]
push dword [eax - 0x1c]
push dword [esp + 0x78]
push dword [esp + 0x78]
call fcn.004141d6
add esp, 0x10
mov ecx, edi
mov dword [esp], eax
and ecx, eax
mov eax, ecx
movdqu xmm0, xmmword [ebx + ecx]
pmovmskb ecx, xmm0
mov edx, eax
test ecx, ecx
jne 0x48ddd1
mov esi, ebx
mov ebx, edi
mov edi, 0x10
mov edx, eax
add edx, edi
and edx, ebx
movdqu xmm0, xmmword [esi + edx]
pmovmskb ecx, xmm0
add edi, 0x10
test ecx, ecx
je 0x48ddb9
mov edi, ebx
mov ebx, esi
bsf ecx, ecx
add ecx, edx
and ecx, edi
cmp byte [ebx + ecx], 0
js 0x48dde9
movdqa xmm0, xmmword [ebx]
pmovmskb ecx, xmm0
bsf ecx, ecx
mov edx, dword [esp + 4]
sub edx, eax
mov edi, ecx
sub edi, eax
xor edi, edx
mov edx, dword [esp + 0x10]
and edi, edx
cmp edi, 0x10
jb 0x48de44
mov al, byte [ebx + ecx]
mov byte [esp + 8], al
mov eax, dword [esp]
shr eax, 0x19
lea esi, [ecx - 0x10]
and esi, edx
mov byte [ebx + ecx], al
mov byte [esi + ebx + 0x10], al
cmp byte [esp + 8], 0xff
mov edi, edx
je 0x48de60
shl ecx, 5
mov eax, ebx
sub eax, ecx
mov ecx, 0xffffffe0
mov dl, byte [ebp + ecx]
mov dh, byte [eax + ecx]
mov byte [ebp + ecx], dh
mov byte [eax + ecx], dl
inc ecx
jne 0x48de2e
jmp 0x48dd74
mov eax, dword [esp]
shr eax, 0x19
mov esi, dword [esp + 4]
lea ecx, [esi - 0x10]
and ecx, edx
mov byte [ebx + esi], al
mov byte [ecx + ebx + 0x10], al
mov edi, edx
mov edx, esi
jmp 0x48de91
not ecx
shl ecx, 5
add ecx, ebx
mov esi, dword [esp + 4]
lea eax, [esi - 0x10]
and eax, edi
mov dl, 0xff
mov byte [ebx + esi], dl
mov byte [eax + ebx + 0x10], dl
mov edx, esi
mov eax, dword [esp + 0x1c]
movdqu xmm0, xmmword [eax]
movdqu xmm1, xmmword [eax + 0x10]
movdqu xmmword [ecx + 0x10], xmm1
movdqu xmmword [ecx], xmm0
lea eax, [edx + 1]
add ebp, 0xffffffe0
cmp edx, edi
mov edx, eax
jne 0x48dd4c
mov ecx, dword [esp + 0x14]
sub ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov dword [eax + 8], ecx
mov eax, 0x80000001
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0x24924925
mov eax, esi
mul ecx
sub esi, edx
shr esi, 1
add esi, edx
shr esi, 2
dec esi
bsr ecx, esi
not ecx
xor eax, eax
dec eax
shr eax, cl
inc eax
lea esi, [esp + 0x44]
mov ecx, esi
mov edx, 0x20
push eax
call fcn.00477a65
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x48e0c9
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
lea eax, [ebx + 0x11]
push eax
push 0xff
push esi
call fcn.0047f090
add esp, 0xc
mov dword [esp + 0x10], esi
mov dword [esp + 0x34], esi
mov dword [esp], ebx
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x3c], ebp
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
xor edx, edx
mov eax, 0
test ebx, ebx
je 0x48e06f
mov dword [esp + 0x18], edi
mov ecx, dword [edi]
movdqa xmm0, xmmword [ecx]
pmovmskb esi, xmm0
not esi
xor edi, edi
mov eax, ebx
mov ebx, ecx
mov edx, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 8], edx
test si, si
jne 0x48df8f
movdqa xmm0, xmmword [ebx + 0x10]
add ebx, 0x10
pmovmskb esi, xmm0
add edi, 0x10
cmp esi, 0xffff
je 0x48df76
not esi
bsf eax, esi
add eax, edi
mov dword [esp + 4], eax
shl eax, 5
mov ebp, ecx
sub ebp, eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x68]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [esp + 0x78]
push dword [esp + 0x78]
call fcn.004141d6
add esp, 0x10
mov ecx, dword [esp]
mov dword [esp + 0x20], eax
and ecx, eax
mov ebp, dword [esp + 0x10]
movdqu xmm0, xmmword [ebp + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x48dff6
mov eax, ebp
mov ebp, 0x10
add ecx, ebp
and ecx, dword [esp]
movdqu xmm0, xmmword [eax + ecx]
pmovmskb edx, xmm0
add ebp, 0x10
test edx, edx
je 0x48dfdf
mov ebp, eax
mov eax, dword [esp]
bsf edx, edx
add edx, ecx
and edx, eax
cmp byte [ebp + edx], 0
js 0x48e013
movdqa xmm0, xmmword [ebp]
pmovmskb ecx, xmm0
bsf edx, ecx
mov eax, dword [esp + 0x20]
shr eax, 0x19
lea ecx, [edx - 0x10]
and ecx, dword [esp]
mov byte [ebp + edx], al
mov byte [ecx + ebp + 0x10], al
lea eax, [esi - 1]
and eax, esi
mov esi, dword [esp + 4]
not esi
shl esi, 5
mov ecx, dword [esp + 0x1c]
movdqu xmm0, xmmword [ecx + esi]
movdqu xmm1, xmmword [ecx + esi + 0x10]
not edx
shl edx, 5
movdqu xmmword [ebp + edx + 0x10], xmm1
movdqu xmmword [ebp + edx], xmm0
mov edx, dword [esp + 8]
dec edx
mov esi, eax
test edx, edx
jne 0x48df6d
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [esp + 0x14]
sub ecx, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
mov eax, dword [edi + edx*4]
mov ecx, dword [esp + edx*4 + 0x34]
mov dword [edi + edx*4], ecx
mov dword [esp + edx*4 + 0x34], eax
inc edx
cmp edx, 4
jne 0x48e07d
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x48deb0
mov eax, ecx
shl eax, 5
add ecx, eax
cmp ecx, 0xffffffcf
je 0x48deb0
mov ecx, dword [esp + 0x34]
sub ecx, eax
push dword [ecx - 0x24]
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x48deb0
mov eax, dword [esp + 0x48]
jmp 0x48deb5
call fcn.004111e0