Function at 0x4e1b00
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], ecx
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push 0x4e1fd2
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov al, bl
cmp eax, 0xf
jg 0x4e1b81
je 0x4e1e6d
cmp eax, 0xe
ja case.0x4e1b3e.10
jmp dword [eax*4 + 0x4e1b45]
cmp eax, 0x16
jg 0x4e1ba9
je 0x4e1f47
sub eax, 0x10
je 0x4e1eb4
dec eax
sub eax, 2
jb case.0x4e1b3e.0
sub eax, 2
jb 0x4e1f04
jmp case.0x4e1b3e.10
sub eax, 0xfd
je 0x4e1f7e
sub eax, 2
je 0x4e1f8a
jmp case.0x4e1b3e.10
push 0
xor eax, eax
mov al, bl
push eax
push 0x401
mov eax, dword [0x4ea10c]
call fcn.00456724
push eax
call sub.user32.dll_PostMessageA
jmp case.0x4e1b3e.10
lea edx, [ebp - 8]
mov ecx, 4
mov eax, esi
call fcn.004e1af4
lea edx, [ebp - 1]
mov ecx, 1
mov eax, esi
call fcn.004e1af4
xor ecx, ecx
mov cl, byte [ebp - 1]
mov edx, 0x4ea110
mov eax, esi
call fcn.004e1af4
xor eax, eax
mov al, byte [ebp - 1]
mov byte [eax + 0x4ea110], 0
mov eax, dword [ebp - 8]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x24]
mov eax, 8
call fcn.00408f88
push dword [ebp - 0x24]
push 0x4e1fe8
lea eax, [ebp - 0x28]
mov edx, 0x4ea110
call fcn.00404c38
push dword [ebp - 0x28]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404dc0
mov eax, dword [ebp - 0x14]
call fcn.00404d00
inc eax
call fcn.00402760
mov esi, eax
mov eax, dword [ebp - 0x14]
call fcn.00404d00
push eax
lea eax, [ebp - 0x14]
call fcn.00404f58
mov edx, eax
mov eax, esi
pop ecx
call fcn.00407724
mov eax, dword [ebp - 0x14]
call fcn.00404d00
mov byte [esi + eax], 0
push esi
xor eax, eax
mov al, bl
push eax
push 0x401
mov eax, dword [0x4ea10c]
call fcn.00456724
push eax
call sub.user32.dll_PostMessageA
jmp case.0x4e1b3e.10
mov edx, 0x4ea110
mov ecx, 3
mov eax, esi
call fcn.004e1af4
xor ecx, ecx
mov cl, byte [0x4ea112]
mov edx, 0x4ea113
mov eax, esi
call fcn.004e1af4
xor eax, eax
mov al, byte [0x4ea112]
mov byte [eax + 0x4ea113], 0
mov eax, 0x10
call fcn.00402760
mov esi, eax
mov eax, 0x4ea110
movzx eax, word [eax]
mov dword [esi], eax
lea eax, [ebp - 0x14]
mov edx, 0x4ea113
call fcn.00404c38
mov eax, dword [ebp - 0x14]
call fcn.00404d00
inc eax
call fcn.00402760
mov edi, eax
mov dword [esi + 0xc], edi
mov eax, dword [ebp - 0x14]
call fcn.00404d00
push eax
lea eax, [ebp - 0x14]
call fcn.00404f58
mov edx, eax
mov eax, edi
pop ecx
call fcn.00407724
mov eax, dword [ebp - 0x14]
call fcn.00404d00
mov edx, dword [esi + 0xc]
mov byte [edx + eax], 0
push esi
xor eax, eax
mov al, bl
push eax
push 0x401
mov eax, dword [0x4ea10c]
call fcn.00456724
push eax
call sub.user32.dll_PostMessageA
jmp case.0x4e1b3e.10
lea edx, [ebp - 0x10]
mov ecx, 8
mov eax, esi
call fcn.004e1af4
push dword [ebp - 0xc]
push dword [ebp - 0x10]
lea eax, [ebp - 0x14]
call fcn.00408f38
mov eax, dword [ebp - 0x14]
call fcn.00404d00
inc eax
call fcn.00402760
mov esi, eax
mov eax, dword [ebp - 0x14]
call fcn.00404d00
push eax
lea eax, [ebp - 0x14]
call fcn.00404f58
mov edx, eax
mov eax, esi
pop ecx
call fcn.00407724
mov eax, dword [ebp - 0x14]
call fcn.00404d00
mov byte [esi + eax], 0
push esi
xor eax, eax
mov al, bl
push eax
push 0x401
mov eax, dword [0x4ea10c]
call fcn.00456724
push eax
call sub.user32.dll_PostMessageA
jmp case.0x4e1b3e.10
mov edx, 0x4ea110
mov ecx, 1
mov eax, esi
call fcn.004e1af4
xor ecx, ecx
mov cl, byte [0x4ea110]
mov edx, 0x4ea111
mov eax, esi
call fcn.004e1af4
xor eax, eax
mov al, byte [0x4ea110]
inc eax
mov byte [eax + 0x4ea110], 0
lea eax, [ebp - 0x14]
mov edx, 0x4ea111
call fcn.00404c38
mov eax, dword [ebp - 0x14]
call fcn.00404d00
inc eax
call fcn.00402760
mov esi, eax
mov eax, dword [ebp - 0x14]
call fcn.00404d00
push eax
lea eax, [ebp - 0x14]
call fcn.00404f58
mov edx, eax
mov eax, esi
pop ecx
call fcn.00407724
mov eax, dword [ebp - 0x14]
call fcn.00404d00
mov byte [esi + eax], 0
push esi
xor eax, eax
mov al, bl
push eax
push 0x401
mov eax, dword [0x4ea10c]
call fcn.00456724
push eax
call sub.user32.dll_PostMessageA
jmp case.0x4e1b3e.10
mov edx, 0x4ea110
mov ecx, 2
mov eax, esi
call fcn.004e1af4
mov eax, 0x10
call fcn.00402760
mov esi, eax
mov eax, 0x4ea110
movzx eax, word [eax]
mov dword [esi], eax
push esi
xor eax, eax
mov al, bl
push eax
push 0x401
mov eax, dword [0x4ea10c]
call fcn.00456724
push eax
call sub.user32.dll_PostMessageA
jmp case.0x4e1b3e.10
mov edx, 0x4ea110
mov ecx, 8
mov eax, esi
call fcn.004e1af4
mov eax, 0x10
call fcn.00402760
mov esi, eax
mov eax, 0x4ea110
mov eax, dword [eax]
mov dword [esi], eax
mov eax, 0x4ea114
mov eax, dword [eax]
mov dword [esi + 4], eax
push esi
xor eax, eax
mov al, bl
push eax
push 0x401
mov eax, dword [0x4ea10c]
call fcn.00456724
push eax
call sub.user32.dll_PostMessageA
jmp case.0x4e1b3e.10
mov edx, 0x4ea110
mov ecx, 1
mov eax, esi
call fcn.004e1af4
mov eax, 0x10
call fcn.00402760
mov esi, eax
xor eax, eax
mov al, byte [0x4ea110]
mov dword [esi], eax
push esi
xor eax, eax
mov al, bl
push eax
push 0x401
mov eax, dword [0x4ea10c]
call fcn.00456724
push eax
call sub.user32.dll_PostMessageA
jmp case.0x4e1b3e.10
mov eax, 0x28
call fcn.00402760
mov edi, eax
mov edx, edi
mov ecx, 0x28
mov eax, esi
call fcn.004e1af4
push edi
xor eax, eax
mov al, bl
push eax
push 0x401
mov eax, dword [0x4ea10c]
call fcn.00456724
push eax
call sub.user32.dll_PostMessageA
jmp case.0x4e1b3e.10
push 0x4e1fec
call sub.kernel32.dll_OutputDebugStringA
jmp case.0x4e1b3e.10
mov byte [ebp - 0x1f], 0xff
push 0
lea edx, [ebp - 0x1f]
mov eax, dword [0x4ea10c]
mov eax, dword [eax + 0x310]
mov ecx, 1
call fcn.0047a024
mov byte [esi + 0x318], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e1fd9
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.00404a64
lea eax, [ebp - 0x14]
call fcn.00404a40
ret