Function at 0x423560
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f34e6
mov eax, dword fs:[0]
push eax
sub esp, 0x190
mov eax, dword [0x52c018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
sub esp, 0xc
push ecx
lea ecx, [ebp - 0x19c]
call fcn.00439350
mov dword [ebp - 4], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea edx, [ebp - 0x28]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x19c]
call fcn.004401a0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x423a91
nop dword [eax + eax]
sub esp, 8
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0xe4]
push eax
call fcn.00439a30
mov ebx, dword [ebp - 0x14]
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
lea esi, [ebp - 0x28]
mov edi, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
cmp ebx, 0x10
cmovae eax, edx
add eax, edi
cmp ebx, 0x10
mov dword [ebp - 0x2c], eax
cmovae esi, edx
add esi, edi
cmp ebx, 0x10
mov eax, esi
cmovae ecx, edx
sub eax, ecx
push eax
push 0x22
push ecx
call fcn.004c8720
add esp, 0xc
mov ecx, esi
test eax, eax
cmovne ecx, eax
mov edx, ecx
cmp ecx, esi
je 0x423654
inc ecx
cmp ecx, esi
je 0x423654
nop
mov al, byte [ecx]
cmp al, 0x22
je 0x423649
mov byte [edx], al
inc edx
inc ecx
cmp ecx, esi
jne 0x423640
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
cmp ebx, 0x10
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x28]
cmovae eax, ecx
mov esi, edx
sub esi, eax
cmp edi, esi
jb 0x423b70
sub dword [ebp - 0x2c], edx
mov eax, edi
mov edx, dword [ebp - 0x2c]
sub eax, esi
cmp eax, edx
cmovb edx, eax
cmp ebx, 0x10
lea eax, [ebp - 0x28]
cmovae eax, ecx
sub edi, edx
mov dword [ebp - 0x18], edi
sub edi, esi
inc edi
push edi
lea ecx, [eax + esi]
lea eax, [ecx + edx]
push eax
push ecx
call fcn.004c8d50
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add esp, 0xc
push str.LINHA_
call ebx
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call ebx
push 0x512a4c
call ebx
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x28]
call fcn.004233d0
mov ebx, dword [ebp - 0x3c]
add esp, 4
mov eax, dword [ebp - 0x38]
mov esi, ebx
mov dword [ebp - 0x2c], ebx
cmp esi, eax
je 0x42398b
nop
mov edi, dword [esi + 0x14]
mov eax, esi
cmp edi, 0x10
jb 0x42370c
mov eax, dword [esi]
mov ecx, dword [esi + 0x10]
add eax, ecx
mov dword [ebp - 0x30], eax
mov eax, esi
cmp edi, 0x10
jb 0x42371d
mov eax, dword [esi]
lea ebx, [eax + ecx]
mov ecx, esi
jb 0x423726
mov ecx, dword [esi]
mov eax, ebx
sub eax, ecx
push eax
push 0x20
push ecx
call fcn.004c8720
add esp, 0xc
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov eax, ecx
cmp ecx, ebx
je 0x42375a
inc ecx
cmp ecx, ebx
je 0x42375a
mov dl, byte [ecx]
cmp dl, 0x20
je 0x423752
mov byte [eax], dl
inc eax
inc ecx
cmp ecx, ebx
jne 0x423748
mov edi, dword [esi + 0x14]
mov byte [ebp - 4], 5
mov ecx, esi
cmp edi, 0x10
jb 0x423767
mov ecx, dword [esi]
mov edx, dword [esi + 0x10]
mov ebx, eax
sub ebx, ecx
cmp edx, ebx
jb 0x423b70
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, edx
sub eax, ebx
cmp eax, ecx
cmovb ecx, eax
mov eax, esi
mov dword [ebp - 0x30], ecx
cmp edi, 0x10
jb 0x423790
mov eax, dword [esi]
lea ecx, [eax + ebx]
mov eax, dword [ebp - 0x30]
sub edx, eax
add eax, ecx
mov dword [esi + 0x10], edx
sub edx, ebx
inc edx
push edx
push eax
push ecx
call fcn.004c8d50
mov byte [ebp - 4], 4
add esp, 0xc
mov edi, dword [esi + 0x14]
mov ecx, esi
cmp edi, 0x10
jb 0x4237bb
mov ecx, dword [esi]
mov ebx, dword [esi + 0x10]
cmp ebx, 2
jne 0x423804
movzx eax, byte [ecx]
cmp al, 0x69
jne 0x4237d6
movzx eax, byte [ecx + 1]
cmp al, 0x64
jne 0x4237d6
xor eax, eax
jmp 0x4237db
sbb eax, eax
or eax, 1
test eax, eax
jne 0x423804
mov ebx, dword [ebp - 0x2c]
cmp dword [ebx + 0x2c], 0x10
lea eax, [ebx + 0x18]
jb 0x4237ed
mov eax, dword [eax]
push eax
call fcn.004cf164
mov ecx, dword [0x533960]
add esp, 4
mov dword [ecx + 0x60], eax
jmp 0x42397d
mov ecx, esi
cmp edi, 0x10
jb 0x42380d
mov ecx, dword [esi]
cmp ebx, 0xb
jne 0x423896
mov edx, str.authmonitor
lea edi, [ebx - 4]
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x423831
add ecx, 4
add edx, 4
sub edi, 4
jae 0x423820
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x423858
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x423858
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x423858
cmp edi, 0xffffffff
je 0x423854
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x423858
xor eax, eax
jmp 0x42385d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x423893
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [0x533960]
add ecx, 0x114
lea edx, [ebx + 0x18]
cmp ecx, edx
je 0x42397d
cmp dword [edx + 0x14], 0x10
mov eax, edx
jb 0x423885
mov eax, dword [edx]
push dword [edx + 0x10]
push eax
call fcn.00408530
jmp 0x42397d
mov edi, dword [esi + 0x14]
mov ecx, esi
cmp edi, 0x10
jb 0x42389f
mov ecx, dword [esi]
cmp ebx, 4
jne 0x423907
mov eax, dword [ecx]
mov edx, str.user
cmp eax, dword [edx]
je 0x4238cb
cmp al, byte [edx]
jne 0x4238cf
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4238cf
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4238cf
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4238cf
xor eax, eax
jmp 0x4238d4
sbb eax, eax
or eax, 1
test eax, eax
jne 0x423907
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [0x533960]
add ecx, 0xcc
lea edx, [ebx + 0x18]
cmp ecx, edx
je 0x42397d
cmp dword [edx + 0x14], 0x10
mov eax, edx
jb 0x4238fc
mov eax, dword [edx]
push dword [edx + 0x10]
push eax
call fcn.00408530
jmp 0x42397d
mov ecx, esi
cmp edi, 0x10
jb 0x423910
mov ecx, dword [esi]
cmp ebx, 4
jne 0x42397a
mov eax, dword [ecx]
mov edx, str.pass
cmp eax, dword [edx]
jne 0x423926
add ecx, ebx
xor eax, eax
jmp 0x42394b
cmp al, byte [edx]
jne 0x423946
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x423946
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x423946
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x423946
xor eax, eax
jmp 0x42394b
sbb eax, eax
or eax, 1
mov ebx, dword [ebp - 0x2c]
test eax, eax
jne 0x42397d
mov ecx, dword [0x533960]
lea edx, [ebx + 0x18]
add ecx, 0xe4
cmp ecx, edx
je 0x42397d
cmp dword [edx + 0x14], 0x10
mov eax, edx
jb 0x42396f
mov eax, dword [edx]
push dword [edx + 0x10]
push eax
call fcn.00408530
jmp 0x42397d
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
add esi, 0x18
cmp esi, eax
jne 0x423700
mov byte [ebp - 4], 2
test ebx, ebx
je 0x4239f9
push ecx
mov edx, eax
mov ecx, ebx
call fcn.00440f40
mov ecx, dword [ebp - 0x34]
mov eax, 0x2aaaaaab
sub ecx, ebx
add esp, 4
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, ebx
shl ecx, 3
cmp ecx, 0x1000
jb 0x4239da
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b75
push ecx
push ebx
call fcn.004748b1
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xe4], vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x60]
mov dword [ebp + ecx - 0xe8], eax
lea ecx, [ebp - 0xd4]
call fcn.00439960
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xe4], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0xe8], eax
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 6
push eax
mov dword [ebp - 0x84], vtable.std::ios_base.0
call fcn.00461837
add esp, 4
mov byte [ebp - 4], 1
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x19c]
call fcn.004401a0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x4235e0
mov esi, dword [0x533960]
mov edx, 0x512695
lea ecx, [esi + 0xcc]
call fcn.00409510
test al, al
jne 0x423b03
lea ecx, [esi + 0x114]
mov edx, 0x512695
call fcn.00409510
test al, al
jne 0x423b03
lea ecx, [esi + 0xe4]
mov edx, 0x512695
call fcn.00409510
test al, al
jne 0x423b03
sub esp, 0x18
mov ecx, esp
push 5
push str.force
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], al
call fcn.00408530
call fcn.004049b0
add esp, 0x18
mov esi, 1
jmp 0x423b05
xor esi, esi
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x423b35
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x423b2b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b75
push edx
push ecx
call fcn.004748b1
add esp, 8
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00417ed0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00474416
mov esp, ebp
pop ebp
ret
call fcn.00409210
call fcn.004d274f
int3