Function at 0x42a580
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x50
push ebx
push ebp
mov ebp, ecx
mov byte [esp + 0x2c], 0xe8
push esi
xor ch, ch
mov dword [esp + 0x31], 0
xor al, al
mov byte [esp + 0x28], 0xe9
push edi
xor edi, edi
mov dword [esp + 0x2d], 0
mov word [esp + 0x3c], 0x800f
mov dword [esp + 0x3e], 0
mov byte [esp + 0x12], ch
mov byte [esp + 0x13], al
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], edi
mov dword [ebp + 0xc], edi
mov dword [ebp + 0x10], edi
nop
mov ebx, dword [ebp + 8]
lea edx, [esp + 0x44]
movzx esi, ch
add esi, dword [ebp]
movzx eax, al
mov ecx, esi
add ebx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], ebx
call fcn.00429b00
test dword [esp + 0x5c], 0x1000
mov edx, eax
mov dword [esp + 0x24], edx
jne 0x42a8cf
cmp byte [esp + 0x12], 5
mov dword [esp + 0x18], esi
jb 0x42a62e
mov eax, esi
mov dword [esp + 0x14], 1
sub eax, ebx
lea ecx, [esp + 0x2c]
sub eax, 5
mov edx, 5
mov dword [esp + 0x2d], eax
jmp 0x42a6a2
mov bl, byte [esp + 0x4a]
cmp bl, 0xe8
jne 0x42a658
movzx eax, byte [esp + 0x44]
lea ecx, [esp + 0x34]
sub eax, dword [esp + 0x1c]
mov edx, 5
add eax, 0xfffffffb
add eax, dword [esp + 0x54]
add eax, esi
mov dword [esp + 0x35], eax
jmp 0x42a6a2
mov al, bl
and al, 0xfd
cmp al, 0xe9
jne 0x42a78d
movzx ecx, byte [esp + 0x44]
add ecx, esi
cmp bl, 0xeb
jne 0x42a679
movsx eax, byte [esp + 0x54]
add ecx, eax
jmp 0x42a67d
add ecx, dword [esp + 0x54]
mov eax, dword [ebp]
cmp eax, ecx
ja 0x42a76b
add eax, 5
cmp ecx, eax
jae 0x42a76b
cmp edi, ecx
cmovae ecx, edi
mov edi, ecx
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x18]
cmp esi, edi
jae 0x42a6b3
movzx eax, byte [esp + 0x44]
cmp edx, eax
jne 0x42a8cf
mov esi, dword [esp + 0x28]
lea eax, [esi + edx]
cmp eax, 0x20
ja 0x42a8cf
mov eax, dword [ebp + 0x10]
cmp eax, 8
jae 0x42a8cf
mov bl, byte [esp + 0x12]
mov byte [eax + ebp + 0x14], bl
mov eax, dword [ebp + 0x10]
mov bl, byte [esp + 0x13]
mov byte [eax + ebp + 0x1c], bl
mov al, bl
mov edi, dword [ebp + 8]
add al, dl
inc dword [ebp + 0x10]
add edi, esi
mov esi, ecx
mov byte [esp + 0x13], al
mov ecx, edx
rep movsb byte es:[edi], byte [esi]
mov ch, byte [esp + 0x12]
add ch, byte [esp + 0x44]
cmp dword [esp + 0x14], 0
mov edi, dword [esp + 0x20]
mov byte [esp + 0x12], ch
je 0x42a5d0
cmp ch, 5
jae 0x42a8c2
mov ebx, dword [ebp]
movzx edi, ch
mov cl, byte [ebx + edi]
lea edx, [ebx + edi]
test cl, cl
je 0x42a73a
cmp cl, 0x90
je 0x42a73a
cmp cl, 0xcc
jne 0x42a843
mov esi, 5
mov eax, 1
sub esi, edi
cmp esi, eax
jbe 0x42a8c2
nop
cmp byte [edx + eax], cl
jne 0x42a843
inc eax
cmp eax, esi
jb 0x42a750
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret
sub ecx, dword [esp + 0x1c]
mov edx, 5
sub ecx, 5
cmp esi, edi
mov dword [esp + 0x2d], ecx
lea ecx, [esp + 0x2c]
sbb ebx, ebx
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x42a6a2
mov ch, byte [esp + 0x4b]
mov cl, bl
and cl, 0xf0
cmp cl, 0x70
je 0x42a7c5
mov al, bl
and al, 0xfc
cmp al, 0xe0
je 0x42a7c5
mov al, ch
and al, 0xf0
cmp al, 0x80
je 0x42a7c5
and bl, 0xfe
cmp bl, 0xc2
jne 0x42a69e
cmp esi, edi
sbb ebx, ebx
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x42a69e
movzx edx, byte [esp + 0x44]
add edx, esi
cmp cl, 0x70
je 0x42a7df
mov al, bl
and al, 0xfc
cmp al, 0xe0
je 0x42a7df
add edx, dword [esp + 0x54]
jmp 0x42a7e6
movsx eax, byte [esp + 0x54]
add edx, eax
mov eax, dword [ebp]
cmp eax, edx
ja 0x42a808
add eax, 5
cmp edx, eax
jae 0x42a808
cmp edi, edx
cmovae edx, edi
mov edi, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], edi
jmp 0x42a69e
mov al, bl
and al, 0xfc
cmp al, 0xe0
je 0x42a8cf
cmp bl, 0xf
movzx ecx, ch
movzx eax, bl
cmovne ecx, eax
sub edx, dword [esp + 0x1c]
and cl, 0xf
or cl, 0x80
sub edx, 6
mov byte [esp + 0x3d], cl
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3e], edx
mov edx, 6
jmp 0x42a6a2
cmp ch, 2
jae 0x42a870
test cl, cl
je 0x42a856
cmp cl, 0x90
je 0x42a856
cmp cl, 0xcc
jne 0x42a8cf
mov esi, 2
mov eax, 1
sub esi, edi
cmp esi, eax
jbe 0x42a870
cmp byte [edx + eax], cl
jne 0x42a8cf
inc eax
cmp eax, esi
jb 0x42a866
push 0x1c
lea eax, [esp + 0x48]
push eax
lea eax, [ebx - 5]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
cmp dword [esp + 0x54], 0x1000
jne 0x42a8cf
test byte [esp + 0x58], 0xf0
je 0x42a8cf
mov eax, dword [ebp]
mov dl, byte [eax - 5]
test dl, dl
je 0x42a8a6
cmp dl, 0x90
je 0x42a8a6
cmp dl, 0xcc
jne 0x42a8cf
mov ecx, 1
add eax, 0xfffffffc
nop
cmp byte [eax], dl
jne 0x42a8cf
inc ecx
inc eax
cmp ecx, 5
jb 0x42a8b0
mov dword [ebp + 0xc], 1
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x50
ret