Function at 0x44ea20
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add eax, ebp
sub eax, dword [esp + 0x4c]
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov dword [ebx + 8], 0
mov dword [esp + 0x24], eax
cmp eax, ebp
jbe 0x44ed46
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
lea edi, [eax - 1]
xor esi, esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x1c], edi
jmp 0x44eab7
mov eax, esi
mov esi, ebx
mov ecx, eax
mov ebx, dword [esp + 0xc]
sub ecx, ebx
sar ecx, 2
mov dword [esp + 4], eax
cmp eax, dword [esp + 8]
je 0x44eb09
mov eax, ebx
mov ebx, esi
mov esi, dword [esp + 4]
mov dword [eax + ecx*4], ebp
add esi, 4
mov dword [ebx + 4], esi
add ebp, edi
inc ebp
cmp ebp, dword [esp + 0x24]
jae 0x44ed46
test edx, edx
je 0x44eac0
cmp byte [edx], 0x3f
je 0x44eacc
movzx ecx, byte [ebp]
mov eax, dword [esp + 0x48]
cmp cl, byte [eax]
jne 0x44eaac
cmp dword [esp + 0x4c], 2
jb 0x44ea80
xor ecx, ecx
jmp 0x44eafc
movzx edx, byte [ebp + ecx + 1]
mov eax, dword [esp + 0x48]
cmp dl, byte [eax + ecx + 1]
mov edx, dword [esp + 0x50]
jne 0x44eb78
inc ecx
cmp edi, ecx
je 0x44ea80
test edx, edx
je 0x44eae0
cmp byte [edx + ecx + 1], 0x3f
jne 0x44eae0
jmp 0x44eaf7
lea eax, [ecx + 1]
mov edx, ecx
shr edx, 1
mov dword [esp + 0x20], ecx
add edx, ecx
cmp edx, eax
cmovbe edx, eax
lea eax, [edx*4]
mov dword [esp + 8], edx
cmp edx, 0x40000000
mov ecx, 0xffffffff
cmovae eax, ecx
mov ecx, dword fs:[0x30]
push eax
push 0
push dword [ecx + 0x18]
call dword [0x48150c]
mov edi, eax
test ebx, ebx
je 0x44ed0a
mov edx, dword [esp + 4]
mov esi, edx
not esi
and esi, ebx
mov eax, ebx
not eax
and eax, edx
mov ecx, eax
sub ecx, esi
cmp edi, ebx
mov dword [esp + 0x14], edi
jae 0x44eb7f
xchg esi, ebx
rep movsb byte es:[edi], byte [esi]
xchg esi, ebx
jmp 0x44eced
add ebp, ecx
jmp 0x44eaac
test ecx, ecx
je 0x44eced
mov edi, dword [esp + 0xc]
lea esi, [edi + ecx]
dec esi
mov edx, dword [esp + 0x14]
lea ebx, [edx + ecx]
dec ebx
cmp ecx, 4
jae 0x44eba7
mov eax, esi
mov edx, ebx
mov esi, ecx
jmp 0x44ec6c
mov dword [esp], ecx
cmp edx, ebx
ja 0x44ec65
cmp edi, esi
ja 0x44ec63
lea ecx, [eax + edi]
dec ecx
add eax, edx
dec eax
sub ecx, eax
cmp ecx, 0x10
jb 0x44ec65
xor ecx, ecx
mov edx, dword [esp]
cmp edx, 0x10
jb 0x44ec15
mov ecx, edx
and ecx, 0xfffffff0
mov eax, ecx
neg eax
xor edx, edx
nop word cs:[eax + eax]
movups xmm0, xmmword [esi + edx - 0xf]
movups xmmword [ebx + edx - 0xf], xmm0
add edx, 0xfffffff0
cmp eax, edx
jne 0x44ebf0
mov edx, dword [esp]
cmp edx, ecx
je 0x44eced
test dl, 0xc
je 0x44ed36
and edx, 0xfffffffc
mov dword [esp + 0x10], edx
mov eax, edx
neg eax
mov dword [esp + 4], eax
mov eax, esi
sub eax, edx
mov edx, ebx
sub edx, dword [esp + 0x10]
mov edi, dword [esp]
and edi, 3
mov dword [esp + 0x18], edi
neg ecx
nop word [eax + eax]
mov edi, dword [esi + ecx - 3]
mov dword [ebx + ecx - 3], edi
add ecx, 0xfffffffc
cmp dword [esp + 4], ecx
jne 0x44ec40
mov ecx, dword [esp + 0x10]
cmp dword [esp], ecx
mov esi, dword [esp + 0x18]
jne 0x44ec6c
jmp 0x44eced
mov ecx, esi
mov eax, esi
mov edx, ebx
mov esi, dword [esp]
lea ecx, [esi - 1]
mov edi, esi
and edi, 7
je 0x44ec92
mov dword [esp + 4], ecx
xor ecx, ecx
nop dword [eax]
movzx ebx, byte [eax]
dec eax
mov byte [edx], bl
dec edx
inc ecx
cmp edi, ecx
jne 0x44ec80
sub esi, ecx
mov ecx, dword [esp + 4]
cmp ecx, 7
jb 0x44eced
neg esi
xor ecx, ecx
nop dword [eax + eax]
movzx ebx, byte [eax + ecx]
mov byte [edx + ecx], bl
movzx ebx, byte [eax + ecx - 1]
mov byte [edx + ecx - 1], bl
movzx ebx, byte [eax + ecx - 2]
mov byte [edx + ecx - 2], bl
movzx ebx, byte [eax + ecx - 3]
mov byte [edx + ecx - 3], bl
movzx ebx, byte [eax + ecx - 4]
mov byte [edx + ecx - 4], bl
movzx ebx, byte [eax + ecx - 5]
mov byte [edx + ecx - 5], bl
movzx ebx, byte [eax + ecx - 6]
mov byte [edx + ecx - 6], bl
movzx ebx, byte [eax + ecx - 7]
mov byte [edx + ecx - 7], bl
add ecx, 0xfffffff8
cmp esi, ecx
jne 0x44eca0
mov eax, dword fs:[0x30]
push dword [esp + 0xc]
push 0
push dword [eax + 0x18]
call dword [0x481514]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x14]
mov ebx, esi
mov dword [esi], edi
mov ecx, dword [esp + 0x20]
lea esi, [edi + ecx*4]
mov eax, dword [esp + 8]
lea eax, [edi + eax*4]
mov dword [esp + 8], eax
mov dword [ebx + 8], eax
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x50]
mov eax, edi
mov edi, dword [esp + 0x1c]
jmp 0x44eaa1
and edx, 0xf
sub ebx, ecx
sub esi, ecx
mov eax, esi
mov ecx, edx
jmp 0x44eb9e
mov eax, ebx
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret