Function at 0x429f40
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.004294c0
test dword [esp + 0x5c], 0x1000
mov edx, eax
mov dword [esp + 0x24], edx
jne 0x42a28f
cmp byte [esp + 0x12], 5
mov dword [esp + 0x18], esi
jb 0x429fee
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 0x42a062
mov bl, byte [esp + 0x4a]
cmp bl, 0xe8
jne 0x42a018
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 0x42a062
mov al, bl
and al, 0xfd
cmp al, 0xe9
jne 0x42a14d
movzx ecx, byte [esp + 0x44]
add ecx, esi
cmp bl, 0xeb
jne 0x42a039
movsx eax, byte [esp + 0x54]
add ecx, eax
jmp 0x42a03d
add ecx, dword [esp + 0x54]
mov eax, dword [ebp]
cmp eax, ecx
ja 0x42a12b
add eax, 5
cmp ecx, eax
jae 0x42a12b
cmp edi, ecx
cmovae ecx, edi
mov edi, ecx
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x18]
cmp esi, edi
jae 0x42a073
movzx eax, byte [esp + 0x44]
cmp edx, eax
jne 0x42a28f
mov esi, dword [esp + 0x28]
lea eax, [esi + edx]
cmp eax, 0x20
ja 0x42a28f
mov eax, dword [ebp + 0x10]
cmp eax, 8
jae 0x42a28f
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 0x429f90
cmp ch, 5
jae 0x42a282
mov ebx, dword [ebp]
movzx edi, ch
mov cl, byte [ebx + edi]
lea edx, [ebx + edi]
test cl, cl
je 0x42a0fa
cmp cl, 0x90
je 0x42a0fa
cmp cl, 0xcc
jne 0x42a203
mov esi, 5
mov eax, 1
sub esi, edi
cmp esi, eax
jbe 0x42a282
nop
cmp byte [edx + eax], cl
jne 0x42a203
inc eax
cmp eax, esi
jb 0x42a110
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 0x42a062
mov ch, byte [esp + 0x4b]
mov cl, bl
and cl, 0xf0
cmp cl, 0x70
je 0x42a185
mov al, bl
and al, 0xfc
cmp al, 0xe0
je 0x42a185
mov al, ch
and al, 0xf0
cmp al, 0x80
je 0x42a185
and bl, 0xfe
cmp bl, 0xc2
jne 0x42a05e
cmp esi, edi
sbb ebx, ebx
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x42a05e
movzx edx, byte [esp + 0x44]
add edx, esi
cmp cl, 0x70
je 0x42a19f
mov al, bl
and al, 0xfc
cmp al, 0xe0
je 0x42a19f
add edx, dword [esp + 0x54]
jmp 0x42a1a6
movsx eax, byte [esp + 0x54]
add edx, eax
mov eax, dword [ebp]
cmp eax, edx
ja 0x42a1c8
add eax, 5
cmp edx, eax
jae 0x42a1c8
cmp edi, edx
cmovae edx, edi
mov edi, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], edi
jmp 0x42a05e
mov al, bl
and al, 0xfc
cmp al, 0xe0
je 0x42a28f
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 0x42a062
cmp ch, 2
jae 0x42a230
test cl, cl
je 0x42a216
cmp cl, 0x90
je 0x42a216
cmp cl, 0xcc
jne 0x42a28f
mov esi, 2
mov eax, 1
sub esi, edi
cmp esi, eax
jbe 0x42a230
cmp byte [edx + eax], cl
jne 0x42a28f
inc eax
cmp eax, esi
jb 0x42a226
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 0x42a28f
test byte [esp + 0x58], 0xf0
je 0x42a28f
mov eax, dword [ebp]
mov dl, byte [eax - 5]
test dl, dl
je 0x42a266
cmp dl, 0x90
je 0x42a266
cmp dl, 0xcc
jne 0x42a28f
mov ecx, 1
add eax, 0xfffffffc
nop
cmp byte [eax], dl
jne 0x42a28f
inc ecx
inc eax
cmp ecx, 5
jb 0x42a270
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