Function at 0x14004d690
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x20
mov ecx, dword [0x14015ec34]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor ebx, ebx
test ax, ax
jne 0x14004d6b1
cmp dword [0x14015ebf0], ebx
jne 0x14004d6c3
lea rdx, [0x14015ed70]
mov dword [0x14015ebf0], ebx
call fcn.14004da50
mov ecx, dword [0x14015ec44]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d6dd
cmp dword [0x14015ebf0], 1
jne 0x14004d6f3
lea rdx, [0x14015f0c0]
mov dword [0x14015ebf0], 1
call fcn.14004da50
mov ecx, dword [0x14015ec0c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d70d
cmp dword [0x14015ebf0], 2
jne 0x14004d723
lea rdx, [0x14015efc0]
mov dword [0x14015ebf0], 2
call fcn.14004da50
mov ecx, dword [0x14015ec28]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d73d
cmp dword [0x14015ebf0], 3
jne 0x14004d753
lea rdx, [0x14015ee60]
mov dword [0x14015ebf0], 3
call fcn.14004da50
mov ecx, dword [0x14015ec2c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d76d
cmp dword [0x14015ebf0], 4
jne 0x14004d783
lea rdx, [0x14015ecd0]
mov dword [0x14015ebf0], 4
call fcn.14004da50
mov ecx, dword [0x14015ec04]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d79d
cmp dword [0x14015ebf0], 5
jne 0x14004d7b3
lea rdx, [0x14015f010]
mov dword [0x14015ebf0], 5
call fcn.14004da50
mov ecx, dword [0x14015ebf4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d7cd
cmp dword [0x14015ebf0], 6
jne 0x14004d7e3
lea rdx, [0x14015ee10]
mov dword [0x14015ebf0], 6
call fcn.14004da50
mov ecx, dword [0x14015ebfc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d7fd
cmp dword [0x14015ebf0], 7
jne 0x14004d813
lea rdx, [0x14015edc0]
mov dword [0x14015ebf0], 7
call fcn.14004da50
mov ecx, dword [0x14015ec08]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d82d
cmp dword [0x14015ebf0], 8
jne 0x14004d843
lea rdx, [0x14015ef70]
mov dword [0x14015ebf0], 8
call fcn.14004da50
mov ecx, dword [0x14015ebf8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d85d
cmp dword [0x14015ebf0], 9
jne 0x14004d873
lea rdx, [0x14015eeb0]
mov dword [0x14015ebf0], 9
call fcn.14004da50
mov ecx, dword [0x14015ec18]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d88d
cmp dword [0x14015ebf0], 0xa
jne 0x14004d8a3
lea rdx, [0x14015f110]
mov dword [0x14015ebf0], 0xa
call fcn.14004da50
mov ecx, dword [0x14015ec30]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d8bd
cmp dword [0x14015ebf0], 0xb
jne 0x14004d8d3
lea rdx, [0x14015ed20]
mov dword [0x14015ebf0], 0xb
call fcn.14004da50
mov ecx, dword [0x14015ec1c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d8ec
cmp dword [0x14015ec4c], ebx
jne 0x14004d8f8
mov dword [0x14015ec4c], ebx
mov dword [0x140110b50], ebx
mov ecx, dword [0x14015ec00]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d912
cmp dword [0x14015ec4c], 1
jne 0x14004d926
mov dword [0x14015ec4c], 1
mov dword [0x140110b50], 1
mov ecx, dword [0x14015ec20]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d940
cmp dword [0x14015ec4c], 2
jne 0x14004d954
mov dword [0x14015ec4c], 2
mov dword [0x140110b50], 2
mov ecx, dword [0x14015ec14]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d96e
cmp dword [0x14015ec4c], 3
jne 0x14004d982
mov dword [0x14015ec4c], 3
mov dword [0x140110b50], 3
mov ecx, dword [0x14015ec38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d99c
cmp dword [0x14015ec4c], 4
jne 0x14004d9b0
mov dword [0x14015ec4c], 4
mov dword [0x140110b50], 4
mov ecx, dword [0x14015ec10]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d9c9
cmp dword [0x14015ec50], ebx
jne 0x14004d9cf
mov dword [0x14015ec50], ebx
mov ecx, dword [0x14015ec24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004d9e9
cmp dword [0x14015ec50], 1
jne 0x14004d9f3
mov dword [0x14015ec50], 1
mov ecx, dword [0x14015ec3c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004da0d
cmp dword [0x14015ec50], 2
jne 0x14004da17
mov dword [0x14015ec50], 2
mov ecx, dword [0x14015ec40]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14004da35
cmp byte [0x14015ec4a], bl
sete byte [0x14015ec4a]
mov ecx, 3
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_Sleep]