Function at 0x44d9f0
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x4c
push ebx
push ebp
mov ebp, dword [esp + 0x58]
xor cl, cl
push esi
xor ah, ah
mov byte [esp + 0x2c], 0xe8
push edi
xor edi, edi
mov dword [esp + 0x31], 0
mov byte [esp + 0x28], 0xe9
mov dword [esp + 0x29], 0
mov word [esp + 0x38], 0x800f
mov dword [esp + 0x3a], 0
mov byte [esp + 0x12], cl
mov byte [esp + 0x13], ah
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], edi
mov dword [ebp + 0xc], edi
mov dword [ebp + 0x10], edi
mov ebx, dword [ebp + 8]
movzx eax, ah
add ebx, eax
mov dword [esp + 0x24], eax
movzx esi, cl
lea eax, [esp + 0x40]
add esi, dword [ebp]
push eax
push esi
mov dword [esp + 0x20], ebx
call fcn.0044e070
add esp, 8
mov edx, eax
test dword [esp + 0x58], 0x1000
mov dword [esp + 0x20], edx
jne 0x44dd10
mov ch, byte [esp + 0x12]
mov dword [esp + 0x60], esi
cmp ch, 5
jb 0x44daab
mov eax, esi
mov edx, 5
sub eax, ebx
mov ebx, 1
sub eax, 5
mov dword [esp + 0x14], ebx
mov dword [esp + 0x29], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x60], eax
jmp 0x44dbfe
mov bl, byte [esp + 0x46]
cmp bl, 0xe8
jne 0x44dae2
mov cl, byte [esp + 0x40]
mov edx, 5
mov ebx, dword [esp + 0x14]
movzx eax, cl
sub eax, dword [esp + 0x18]
add eax, 0xfffffffb
add eax, dword [esp + 0x50]
add eax, esi
mov dword [esp + 0x31], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x60], eax
jmp 0x44dc02
mov al, bl
and al, 0xfd
cmp al, 0xe9
jne 0x44db47
movzx ecx, byte [esp + 0x40]
add ecx, esi
cmp bl, 0xeb
jne 0x44daff
movsx eax, byte [esp + 0x50]
add ecx, eax
jmp 0x44db03
add ecx, dword [esp + 0x50]
mov eax, dword [ebp]
cmp eax, ecx
ja 0x44db21
add eax, 5
cmp ecx, eax
jae 0x44db21
cmp edi, ecx
cmovae ecx, edi
mov edi, ecx
mov dword [esp + 0x1c], edi
jmp 0x44dbf6
sub ecx, dword [esp + 0x18]
lea eax, [esp + 0x28]
sub ecx, 5
mov dword [esp + 0x60], eax
cmp esi, edi
mov dword [esp + 0x29], ecx
mov edx, 5
sbb ebx, ebx
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x44dbfa
mov ch, byte [esp + 0x47]
mov cl, bl
and cl, 0xf0
cmp cl, 0x70
je 0x44db7c
mov al, bl
and al, 0xfc
cmp al, 0xe0
je 0x44db7c
mov al, ch
and al, 0xf0
cmp al, 0x80
je 0x44db7c
and bl, 0xfe
cmp bl, 0xc2
jne 0x44dbf6
cmp esi, edi
sbb ebx, ebx
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x44dbfa
movzx edx, byte [esp + 0x40]
add edx, esi
cmp cl, 0x70
je 0x44db96
mov al, bl
and al, 0xfc
cmp al, 0xe0
je 0x44db96
add edx, dword [esp + 0x50]
jmp 0x44db9d
movsx eax, byte [esp + 0x50]
add edx, eax
mov eax, dword [ebp]
cmp eax, edx
ja 0x44dbbc
add eax, 5
cmp edx, eax
jae 0x44dbbc
cmp edi, edx
cmovae edx, edi
mov edi, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x1c], edi
jmp 0x44dbf6
mov al, bl
and al, 0xfc
cmp al, 0xe0
je 0x44dd10
cmp bl, 0xf
movzx eax, bl
movzx ecx, ch
cmovne ecx, eax
sub edx, dword [esp + 0x18]
and cl, 0xf
lea eax, [esp + 0x38]
or cl, 0x80
mov dword [esp + 0x60], eax
sub edx, 6
mov byte [esp + 0x39], cl
mov dword [esp + 0x3a], edx
mov edx, 6
mov ebx, dword [esp + 0x14]
mov ch, byte [esp + 0x12]
mov cl, byte [esp + 0x40]
cmp esi, edi
jae 0x44dc11
movzx eax, cl
cmp edx, eax
jne 0x44dd10
mov esi, dword [esp + 0x24]
lea eax, [esi + edx]
cmp eax, 0x20
ja 0x44dd10
mov eax, dword [ebp + 0x10]
cmp eax, 8
jae 0x44dd10
mov cl, byte [esp + 0x13]
mov byte [eax + ebp + 0x14], ch
mov eax, dword [ebp + 0x10]
mov byte [eax + ebp + 0x1c], cl
mov ecx, edx
mov edi, dword [ebp + 8]
inc dword [ebp + 0x10]
add edi, esi
mov esi, dword [esp + 0x60]
mov ah, byte [esp + 0x13]
mov al, byte [esp + 0x40]
add ah, dl
rep movsb byte es:[edi], byte [esi]
mov cl, byte [esp + 0x12]
mov edi, dword [esp + 0x1c]
add cl, al
mov byte [esp + 0x13], ah
mov byte [esp + 0x12], cl
test ebx, ebx
je 0x44da40
cmp cl, 5
jae 0x44dd03
mov edi, dword [ebp]
mov eax, 5
movzx esi, cl
sub eax, esi
push eax
lea ebx, [edi + esi]
push ebx
call fcn.0044d9b0
add esp, 8
test eax, eax
jne 0x44dd03
cmp byte [esp + 0x12], 2
jae 0x44dcb3
mov eax, 2
sub eax, esi
push eax
push ebx
call fcn.0044d9b0
add esp, 8
test eax, eax
je 0x44dd10
push 0x1c
lea eax, [esp + 0x44]
push eax
lea eax, [edi - 5]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
cmp dword [esp + 0x50], 0x1000
jne 0x44dd10
test byte [esp + 0x54], 0xf0
je 0x44dd10
mov eax, dword [ebp]
mov dl, byte [eax - 5]
test dl, dl
je 0x44dce9
cmp dl, 0x90
je 0x44dce9
cmp dl, 0xcc
jne 0x44dd10
mov ecx, 1
add eax, 0xfffffffc
cmp byte [eax], dl
jne 0x44dd10
inc ecx
inc eax
cmp ecx, 5
jb 0x44dcf1
mov dword [ebp + 0xc], 1
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x4c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret