Function at 0x4b59ba
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
push ebx
push esi
push edi
mov esi, ecx
mov ebx, edx
mov edi, eax
mov al, byte [ebx]
inc ebx
xor edx, edx
mov dl, al
cmp edx, 6
jg 0x4b59f6
je 0x4b5b5f
dec edx
je 0x4b5a23
dec edx
je 0x4b5a31
sub edx, 2
je 0x4b5b39
dec edx
je 0x4b5b46
jmp 0x4b5c03
sub edx, 7
je 0x4b5b79
dec edx
je 0x4b5b99
dec edx
je 0x4b5bae
sub edx, 0xf3
jne 0x4b5c03
mov eax, 1
jmp 0x4b5c0f
cmp word [ebp + 8], 0
je 0x4b59c9
xor eax, eax
jmp 0x4b5c0f
lea edx, [ebx + 1]
mov dword [edi + 0x12], edx
cmp word [ebp + 8], 0
jne 0x4b5a57
movsx ecx, byte [esi]
xor eax, eax
mov al, byte [ebx]
cmp ecx, eax
je 0x4b5a50
xor eax, eax
jmp 0x4b5c0f
inc ebx
inc esi
jmp 0x4b59c9
mov dl, byte [ebx]
inc ebx
mov byte [ebp - 3], dl
cmp dword [edi], 0
je 0x4b5ac7
mov cl, byte [ebp - 3]
mov byte [ebp - 0x1e], cl
mov byte [ebp - 0x1d], 0
mov al, byte [ebp - 3]
mov byte [ebp - 0x20], al
mov byte [ebp - 0x1f], 0
lea edx, [ebp - 0x1e]
push edx
call sub.user32.dll_CharUpperA
lea ecx, [ebp - 0x20]
push ecx
call sub.user32.dll_CharLowerA
movzx eax, word [ebp + 8]
inc eax
push eax
movsx edx, byte [ebp - 0x1e]
push edx
push esi
call fcn.004bd219
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne 0x4b5ae9
movzx edx, word [ebp + 8]
inc edx
push edx
movsx ecx, byte [ebp - 0x20]
push ecx
push esi
call fcn.004bd219
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne 0x4b5ae9
xor eax, eax
jmp 0x4b5c0f
movzx edx, word [ebp + 8]
inc edx
push edx
movsx ecx, byte [ebp - 3]
push ecx
push esi
call fcn.004bd219
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne 0x4b5ae9
xor eax, eax
jmp 0x4b5c0f
mov edx, dword [ebp - 8]
sub edx, esi
sub word [ebp + 8], dx
mov esi, dword [ebp - 8]
inc esi
cmp word [ebp + 8], 0
je 0x4b59c9
mov ax, word [ebp + 8]
push eax
mov ecx, esi
mov edx, ebx
mov eax, edi
call fcn.004b59ba
test eax, eax
je 0x4b5b1f
mov eax, 1
jmp 0x4b5c0f
cmp ebx, dword [edi + 0x12]
je 0x4b5b2b
xor eax, eax
jmp 0x4b5c0f
dec word [ebp + 8]
jmp 0x4b5a5d
movzx edx, word [ebx]
add esi, edx
add ebx, 2
jmp 0x4b59c9
movsx ecx, byte [esi]
xor eax, eax
mov al, byte [ebx]
cmp ecx, eax
je 0x4b5b58
xor eax, eax
jmp 0x4b5c0f
inc ebx
inc esi
jmp 0x4b59c9
mov dx, word [esi]
cmp dx, word [ebx]
je 0x4b5b6e
xor eax, eax
jmp 0x4b5c0f
add ebx, 2
add esi, 2
jmp 0x4b59c9
mov edx, dword [esi]
shl edx, 8
mov ecx, dword [ebx]
shl ecx, 8
cmp edx, ecx
je 0x4b5b8e
xor eax, eax
jmp 0x4b5c0f
add ebx, 3
add esi, 3
jmp 0x4b59c9
mov edx, dword [esi]
cmp edx, dword [ebx]
je 0x4b5ba3
xor eax, eax
jmp 0x4b5c0f
add ebx, 4
add esi, 4
jmp 0x4b59c9
mov dx, word [ebx]
mov word [ebp - 2], dx
add ebx, 2
cmp dword [edi], 0
je 0x4b5bdd
movzx ecx, word [ebp - 2]
push ecx
push dword [ebx]
movzx eax, word [ebp - 2]
push eax
push esi
push 1
push dword [edi + 4]
call sub.kernel32.dll_CompareStringA
cmp eax, 2
je 0x4b5bf5
xor eax, eax
jmp 0x4b5c0f
movzx edx, word [ebp - 2]
push edx
push dword [ebx]
push esi
call fcn.00492b8c
add esp, 0xc
test eax, eax
je 0x4b5bf5
xor eax, eax
jmp 0x4b5c0f
add ebx, 4
movzx edx, word [ebp - 2]
add esi, edx
jmp 0x4b59c9
push 0x5b8a8c
call sub.kernel32.dll_OutputDebugStringA
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4