Function at 0x14010b910
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x28
lea rcx, [0x14048d6c2]
call fcn.140289ea0
cmp byte [0x140466516], 0
jne 0x14010bd2d
mov qword [rsp + 0x30], Ordinal_46
cmp byte [0x1404664f7], 0
je 0x14010b991
mov ecx, dword [0x140466854]
test ecx, ecx
je 0x14010b973
sub ecx, 1
je 0x14010b95b
cmp ecx, 1
jne 0x14010b991
mov byte [0x140466860], cl
jmp 0x14010b991
mov ecx, dword [0x140466850]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140466860]
jmp 0x14010b991
mov ecx, dword [0x140466850]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010b991
cmp byte [0x140466860], 0
sete byte [0x140466860]
cmp byte [0x14046655b], 0
je 0x14010b9ec
mov ecx, dword [0x14046727c]
test ecx, ecx
je 0x14010b9ce
sub ecx, 1
je 0x14010b9b6
cmp ecx, 1
jne 0x14010b9ec
mov byte [0x140467288], cl
jmp 0x14010b9ec
mov ecx, dword [0x140467278]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140467288]
jmp 0x14010b9ec
mov ecx, dword [0x140467278]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010b9ec
cmp byte [0x140467288], 0
sete byte [0x140467288]
cmp byte [0x140466514], 0
je 0x14010ba47
mov ecx, dword [0x14046686c]
test ecx, ecx
je 0x14010ba29
sub ecx, 1
je 0x14010ba11
cmp ecx, 1
jne 0x14010ba47
mov byte [0x140466878], cl
jmp 0x14010ba47
mov ecx, dword [0x140466868]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140466878]
jmp 0x14010ba47
mov ecx, dword [0x140466868]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010ba47
cmp byte [0x140466878], 0
sete byte [0x140466878]
cmp byte [0x140466574], 0
je 0x14010baa2
mov ecx, dword [0x140467354]
test ecx, ecx
je 0x14010ba84
sub ecx, 1
je 0x14010ba6c
cmp ecx, 1
jne 0x14010baa2
mov byte [0x140467360], cl
jmp 0x14010baa2
mov ecx, dword [0x140467350]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140467360]
jmp 0x14010baa2
mov ecx, dword [0x140467350]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010baa2
cmp byte [0x140467360], 0
sete byte [0x140467360]
cmp byte [0x140466515], 0
je 0x14010bafd
mov ecx, dword [0x140467294]
test ecx, ecx
je 0x14010badf
sub ecx, 1
je 0x14010bac7
cmp ecx, 1
jne 0x14010bafd
mov byte [0x1404672a0], cl
jmp 0x14010bafd
mov ecx, dword [0x140467290]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x1404672a0]
jmp 0x14010bafd
mov ecx, dword [0x140467290]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010bafd
cmp byte [0x1404672a0], 0
sete byte [0x1404672a0]
cmp byte [0x14046658b], 0
je 0x14010bb58
mov ecx, dword [0x140467264]
test ecx, ecx
je 0x14010bb3a
sub ecx, 1
je 0x14010bb22
cmp ecx, 1
jne 0x14010bb58
mov byte [0x140467270], cl
jmp 0x14010bb58
mov ecx, dword [0x140467260]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140467270]
jmp 0x14010bb58
mov ecx, dword [0x140467260]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010bb58
cmp byte [0x140467270], 0
sete byte [0x140467270]
cmp byte [0x14046650d], 0
je 0x14010bbb3
mov ecx, dword [0x140466e94]
test ecx, ecx
je 0x14010bb95
sub ecx, 1
je 0x14010bb7d
cmp ecx, 1
jne 0x14010bbb3
mov byte [0x140466ea0], cl
jmp 0x14010bbb3
mov ecx, dword [0x140466e90]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140466ea0]
jmp 0x14010bbb3
mov ecx, dword [0x140466e90]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010bbb3
cmp byte [0x140466ea0], 0
sete byte [0x140466ea0]
cmp byte [0x1404664dd], 0
je 0x14010bc0e
mov ecx, dword [0x1404672f4]
test ecx, ecx
je 0x14010bbf0
sub ecx, 1
je 0x14010bbd8
cmp ecx, 1
jne 0x14010bc0e
mov byte [0x140467300], cl
jmp 0x14010bc0e
mov ecx, dword [0x1404672f0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140467300]
jmp 0x14010bc0e
mov ecx, dword [0x1404672f0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010bc0e
cmp byte [0x140467300], 0
sete byte [0x140467300]
cmp byte [0x14046650f], 0
je 0x14010bc69
mov ecx, dword [0x140466ec4]
test ecx, ecx
je 0x14010bc4b
sub ecx, 1
je 0x14010bc33
cmp ecx, 1
jne 0x14010bc69
mov byte [0x140466ed0], cl
jmp 0x14010bc69
mov ecx, dword [0x140466ec0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140466ed0]
jmp 0x14010bc69
mov ecx, dword [0x140466ec0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010bc69
cmp byte [0x140466ed0], 0
sete byte [0x140466ed0]
cmp byte [0x1404664b7], 0
je 0x14010bcc4
mov ecx, dword [0x1404672dc]
test ecx, ecx
je 0x14010bca6
sub ecx, 1
je 0x14010bc8e
cmp ecx, 1
jne 0x14010bcc4
mov byte [0x1404672e8], cl
jmp 0x14010bcc4
mov ecx, dword [0x1404672d8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x1404672e8]
jmp 0x14010bcc4
mov ecx, dword [0x1404672d8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010bcc4
cmp byte [0x1404672e8], 0
sete byte [0x1404672e8]
mov ecx, dword [0x140466eac]
test ecx, ecx
je 0x14010bcf8
sub ecx, 1
je 0x14010bce0
cmp ecx, 1
jne 0x14010bd16
mov byte [0x140466eb8], cl
jmp 0x14010bd16
mov ecx, dword [0x140466ea8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140466eb8]
jmp 0x14010bd16
mov ecx, dword [0x140466ea8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010bd16
cmp byte [0x140466eb8], 0
sete byte [0x140466eb8]
lea rcx, [rsp + 0x30]
call fcn.14005dc80
cmp byte [0x140466516], 0
je 0x14010b936
add rsp, 0x28
ret