Function at 0x44f7b0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x34
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
add ecx, ebp
sub ecx, ebx
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [esp + 0x30], ecx
cmp ecx, ebp
jbe 0x44fb22
mov esi, dword [esp + 0x5c]
lea ecx, [ebx - 1]
mov dword [esp + 0x2c], ecx
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [esp + 0x14], 0
jmp 0x44f84e
mov ecx, dword [esp]
mov ebx, ecx
mov eax, dword [esp + 8]
sub ebx, eax
mov edx, ebx
sar edx, 2
cmp ecx, dword [esp + 0x14]
je 0x44f88f
mov ecx, eax
mov eax, dword [esp + 0x48]
mov ebx, dword [esp]
mov dword [ecx + edx*4], ebp
add ebx, 4
mov dword [esp], ebx
mov dword [eax + 4], ebx
add ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x58]
inc ebp
cmp ebp, dword [esp + 0x30]
jae 0x44fb22
test esi, esi
je 0x44f857
cmp byte [esi], 0x3f
je 0x44f863
movzx ecx, byte [ebp]
mov edx, dword [esp + 0x54]
cmp cl, byte [edx]
jne 0x44f843
cmp ebx, 2
jb 0x44f810
mov ecx, 1
jmp 0x44f883
movzx edx, byte [ebp + ecx]
mov edi, dword [esp + 0x54]
cmp dl, byte [edi + ecx]
jne 0x44f8f0
inc ecx
cmp ebx, ecx
je 0x44f810
test esi, esi
je 0x44f870
cmp byte [esi + ecx], 0x3f
jne 0x44f870
jmp 0x44f87e
lea eax, [edx + 1]
mov edi, edx
shr edi, 1
mov dword [esp + 0x28], edx
add edi, edx
cmp edi, eax
cmovbe edi, eax
lea eax, [edi*4]
cmp edi, 0x40000000
mov ecx, 0xffffffff
cmovae eax, ecx
mov ecx, dword fs:[0x30]
push eax
push 0
push dword [ecx + 0x18]
call dword [0x485348]
mov ecx, eax
mov eax, dword [esp + 8]
test eax, eax
mov dword [esp + 0xc], ecx
je 0x44fafa
mov dword [esp + 0x14], edi
cmp ecx, eax
jae 0x44f902
mov edi, ecx
mov ecx, ebx
xchg esi, eax
rep movsb byte es:[edi], byte [esi]
xchg esi, eax
jmp 0x44fadd
mov edx, ecx
or edx, 0xfffffffe
and ecx, 0xfffffffe
add ecx, edx
add ebp, ecx
inc ebp
jmp 0x44f843
test ebx, ebx
je 0x44fadd
lea ecx, [ebx + 0x603130db]
mov eax, dword [esp + 8]
mov dword [esp + 0x18], ecx
add eax, ecx
add eax, 0x9fcecf24
mov dword [esp + 0x1c], eax
mov eax, ebx
or eax, 0xfffffffe
mov ecx, ebx
and ecx, 0xfffffffe
lea edx, [eax + ecx]
mov edi, dword [esp + 0xc]
add edx, edi
inc edx
cmp ebx, 4
jae 0x44f947
mov eax, dword [esp + 0x1c]
mov ecx, edx
jmp 0x44fa42
mov edi, dword [esp + 0x1c]
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
sub edx, dword [esp + 0x18]
add edx, 0x603130dc
cmp edx, dword [esp + 4]
mov edx, dword [esp + 4]
ja 0x44f98b
mov edx, edi
cmp dword [esp + 8], edi
ja 0x44f980
add eax, dword [esp + 0xc]
add eax, ecx
inc eax
not eax
add eax, dword [esp]
cmp eax, 0x10
jae 0x44f994
mov eax, edx
mov ecx, dword [esp + 4]
jmp 0x44fa42
mov eax, edi
mov ecx, edx
jmp 0x44fa42
xor edi, edi
cmp ebx, 0x10
jb 0x44f9cf
mov edi, ebx
and edi, 0xfffffff0
mov eax, edi
neg eax
mov dword [esp], eax
xor ecx, ecx
mov eax, dword [esp + 4]
nop dword [eax]
movups xmm0, xmmword [edx + ecx - 0xf]
movups xmmword [eax + ecx - 0xf], xmm0
add ecx, 0xfffffff0
cmp dword [esp], ecx
jne 0x44f9b0
cmp ebx, edi
je 0x44fadd
test bl, 0xc
je 0x44fa35
mov ecx, ebx
and ecx, 0xfffffffc
mov eax, ecx
neg eax
mov dword [esp + 0x18], eax
mov eax, edx
sub eax, ecx
mov edx, ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x24], edx
sub ecx, edx
mov dword [esp + 0x20], ebx
mov edx, ebx
and edx, 3
mov dword [esp + 0x10], edx
neg edi
nop dword [eax + eax]
mov dword [esp], edi
mov edx, dword [esp + 0x1c]
mov edx, dword [edx + edi - 3]
mov edi, dword [esp + 4]
mov ebx, dword [esp]
mov dword [edi + ebx - 3], edx
mov edi, dword [esp]
add edi, 0xfffffffc
cmp dword [esp + 0x18], edi
jne 0x44fa00
mov edx, dword [esp + 0x20]
cmp edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
jne 0x44fa42
jmp 0x44fadd
and ebx, 0xf
mov ecx, dword [esp + 4]
sub ecx, edi
sub edx, edi
mov eax, edx
lea edx, [ebx - 1]
mov dword [esp + 0x10], ebx
and ebx, 7
je 0x44fa7c
mov dword [esp], edx
xor edi, edi
nop word cs:[eax + eax]
movzx edx, byte [eax]
dec eax
mov byte [ecx], dl
dec ecx
inc edi
cmp ebx, edi
jne 0x44fa60
mov ebx, dword [esp + 0x10]
sub ebx, edi
mov edx, dword [esp]
cmp edx, 7
jae 0x44fa85
jmp 0x44fadd
mov ebx, dword [esp + 0x10]
cmp edx, 7
jb 0x44fadd
neg ebx
xor edi, edi
nop dword [eax]
movzx edx, byte [eax + edi]
mov byte [ecx + edi], dl
movzx edx, byte [eax + edi - 1]
mov byte [ecx + edi - 1], dl
movzx edx, byte [eax + edi - 2]
mov byte [ecx + edi - 2], dl
movzx edx, byte [eax + edi - 3]
mov byte [ecx + edi - 3], dl
movzx edx, byte [eax + edi - 4]
mov byte [ecx + edi - 4], dl
movzx edx, byte [eax + edi - 5]
mov byte [ecx + edi - 5], dl
movzx edx, byte [eax + edi - 6]
mov byte [ecx + edi - 6], dl
movzx edx, byte [eax + edi - 7]
mov byte [ecx + edi - 7], dl
add edi, 0xfffffff8
cmp ebx, edi
jne 0x44fa90
mov eax, dword fs:[0x30]
push dword [esp + 8]
push 0
push dword [eax + 0x18]
call dword [0x485350]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x48]
mov dword [eax], ecx
mov edx, dword [esp + 0x28]
lea ebx, [ecx + edx*4]
lea ecx, [ecx + edi*4]
mov dword [esp + 0x14], ecx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xc]
jmp 0x44f82f
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret