Function at 0x14013b337
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x140163f90
push r13
push rbp
push rdi
sub rsp, 0xa70
lea r13, [rsp + 0x40]
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
lea rdi, [rsp + 0x40]
mov ecx, 0x1cc
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1405cda80]
xor rax, r13
mov qword [rbp + 0xa00], rax
lea rcx, [0x1405fb15e]
call fcn.14013b9db
nop
lea rcx, [0x1405cec00]
call fcn.1401373d1
movzx eax, al
test eax, eax
jne 0x1401640e2
mov rax, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rbp + 0x9d8], rax
lea rax, [rbp + 0x414]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rbp + 0x434]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rbp + 0x454]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rbp + 0x414]
movzx r8d, byte [rbp + 0x434]
movzx edx, byte [rbp + 0x454]
lea rcx, [rbp + 0x3c0]
call fcn.140150cd0
mov rcx, rax
call fcn.140136c10
mov qword [rbp + 0x9e0], rax
mov rdx, qword [rbp + 0x9e0]
mov rcx, qword [rbp + 0x9d8]
call fcn.140134cdf
mov qword [rbp + 0x9e8], rax
lea rdx, [0x140134492]
mov rcx, qword [rbp + 0x9e8]
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__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [0x1405cec00]
call fcn.140139848
nop
lea rcx, [0x1405cec00]
call fcn.1401373d1
movzx eax, al
test eax, eax
jne 0x1401640dd
mov dword [rbp + 0x494], 5
lea rdx, [rbp + 0x494]
lea rcx, [rbp + 0x478]
call fcn.140135ad1
mov rcx, rax
call fcn.140135649
nop
jmp 0x140163fd8
lea rcx, [0x1405cec00]
call fcn.140135734
mov ecx, eax
call fcn.140139753
nop
call fcn.140139721
nop
lea rax, [rbp + 0x4e4]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rbp + 0x4e4]
lea rcx, [rbp + 0x4b8]
call fcn.140150ee0
mov qword [rbp + 0x9d8], rax
mov rax, qword [rbp + 0x9d8]
mov qword [rbp + 0x9e0], rax
mov rcx, qword [rbp + 0x9e0]
call fcn.14013c0f7
nop
lea rcx, [rbp + 0x4b8]
call fcn.140137606
nop
lea rax, [rbp + 0x534]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rbp + 0x534]
lea rcx, [rbp + 0x508]
call fcn.140151090
mov qword [rbp + 0x9d8], rax
mov rax, qword [rbp + 0x9d8]
mov qword [rbp + 0x9e0], rax
mov rcx, qword [rbp + 0x9e0]
call fcn.14013c0f7
nop
lea rcx, [rbp + 0x508]
call fcn.140137606
nop
lea rax, [rbp + 0x584]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rbp + 0x584]
lea rcx, [rbp + 0x558]
call fcn.1401511b0
mov qword [rbp + 0x9d8], rax
mov rax, qword [rbp + 0x9d8]
mov qword [rbp + 0x9e0], rax
mov rcx, qword [rbp + 0x9e0]
call fcn.14013c0f7
nop
lea rcx, [rbp + 0x558]
call fcn.140137606
nop
lea rax, [rbp + 0x5d4]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rbp + 0x5d4]
lea rcx, [rbp + 0x5a8]
call fcn.1401512d0
mov qword [rbp + 0x9d8], rax
mov rax, qword [rbp + 0x9d8]
mov qword [rbp + 0x9e0], rax
mov rcx, qword [rbp + 0x9e0]
call fcn.14013c0f7
nop
lea rcx, [rbp + 0x5a8]
call fcn.140137606
nop
call fcn.140135eaf
movzx eax, al
test eax, eax
je 0x1401649b7
mov edx, 0x28
lea rcx, [rbp + 8]
call fcn.140138993
call fcn.14013a13f
mov qword [rbp + 0x9d8], rax
call fcn.14013c09d
mov qword [rbp + 0x9e0], rax
call fcn.140139e15
mov qword [rbp + 0x9e8], rax
call fcn.1401386ff
mov qword [rbp + 0x9f0], rax
mov rax, qword [rbp + 0x9d8]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x9e0]
mov r8, qword [rbp + 0x9e8]
mov rdx, qword [rbp + 0x9f0]
lea rcx, [rbp + 8]
call fcn.14013660c
nop
lea rcx, [rbp + 8]
call fcn.140139d48
nop
lea rax, [rbp + 0x5f8]
mov qword [rbp + 0x658], rax
lea rax, [rbp + 8]
mov qword [rbp + 0x678], rax
lea rax, [0x1401365bc]
mov qword [rbp + 0x698], rax
lea rax, [0x1403bc2e8]
mov qword [rsp + 0x30], rax
lea rax, [0x1403bc2e7]
mov qword [rsp + 0x28], rax
lea rax, [0x1403bc2e6]
mov qword [rsp + 0x20], rax
lea r9, [0x1403bc2e5]
lea r8, [rbp + 0x678]
lea rdx, [rbp + 0x698]
lea rcx, [rbp + 0x6b8]
call fcn.140136bd4
mov rdx, rax
mov rcx, qword [rbp + 0x658]
call fcn.14013c449
mov qword [rbp + 0x9d8], rax
mov rcx, qword [rbp + 0x9d8]
call fcn.14013b319
nop
mov r8d, 0x30
xor edx, edx
lea rcx, [rbp + 0x48]
call fcn.140139ad7
nop
cmp dword [rbp + 0x50], 0x12
je 0x1401649ad
call fcn.1401386ff
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x48]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x1401643b8
lea rcx, [rbp + 0x48]
call qword [sym.imp.USER32.dll_TranslateMessage]
nop
lea rcx, [rbp + 0x48]
call qword [sym.imp.USER32.dll_DispatchMessageW]
nop
lea rcx, [rbp + 8]
call fcn.14013b422
mov byte [rbp + 0x9d4], al
call fcn.140139c26
movzx ecx, byte [rbp + 0x9d4]
mov byte [rax + 0x50], cl
lea rcx, [0x1405cec00]
call fcn.14013bb66
nop
lea rcx, [0x1405cec00]
call fcn.1401353ba
nop
cmp dword [rbp + 0x28], 0
jne 0x1401643fc
cmp dword [rbp + 0x24], 0
je 0x14016445e
call fcn.140137b42
nop
call fcn.140138b5f
mov qword [rbp + 0x9d8], rax
mov rax, qword [rbp + 0x9d8]
mov rax, qword [rax]
mov rax, qword [rax + 0x68]
mov qword [rbp + 0x9e0], rax
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, dword [rbp + 0x28]
mov r8d, dword [rbp + 0x24]
xor edx, edx
mov rcx, qword [rbp + 0x9d8]
call qword [rbp + 0x9e0]
nop
mov dword [rbp + 0x24], 0
mov eax, dword [rbp + 0x24]
mov dword [rbp + 0x28], eax
call fcn.140137322
nop
lea rcx, [rbp + 8]
call fcn.14013a176
nop
call fcn.14013af04
nop
call fcn.140136bd9
nop
call fcn.140138e2a
nop
call fcn.1401398a2
nop
movzx eax, byte [0x1405cf134]
test eax, eax
je 0x14016455c
call fcn.14013888f
mov qword [rbp + 0x9d8], rax
lea rdx, [0x1405cf138]
lea rcx, [rbp + 0x6e4]
call fcn.140139271
mov rcx, rax
call fcn.14013888a
mov dword [rbp + 0x9e0], eax
cvtsi2ss xmm0, dword [0x1405cf054]
movss dword [rbp + 0x9e4], xmm0
call fcn.140139c26
movss xmm0, dword [rax + 0xc]
divss xmm0, dword [0x1403bce90]
movss dword [rbp + 0x9e8], xmm0
call fcn.140139c26
movss xmm0, dword [rax + 8]
divss xmm0, dword [0x1403bce90]
movss dword [rbp + 0x9ec], xmm0
movss xmm2, dword [rbp + 0x9e8]
movss xmm1, dword [rbp + 0x9ec]
lea rcx, [rbp + 0x714]
call fcn.140138c54
mov qword [rbp + 0x9f0], rax
movss xmm0, dword [0x1403bce8c]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0x168
mov r9d, dword [rbp + 0x9e0]
movss xmm2, dword [rbp + 0x9e4]
mov rdx, qword [rbp + 0x9f0]
mov rcx, qword [rbp + 0x9d8]
call fcn.140136f44
nop
movzx eax, byte [0x1405cf148]
test eax, eax
je 0x140164638
call fcn.14013888f
mov qword [rbp + 0x9d8], rax
lea rdx, [0x1405cf14c]
lea rcx, [rbp + 0x734]
call fcn.140139271
mov rcx, rax
call fcn.14013888a
mov dword [rbp + 0x9e0], eax
cvtsi2ss xmm0, dword [0x1405cf078]
movss dword [rbp + 0x9e4], xmm0
call fcn.140139c26
movss xmm0, dword [rax + 0xc]
divss xmm0, dword [0x1403bce90]
movss dword [rbp + 0x9e8], xmm0
call fcn.140139c26
movss xmm0, dword [rax + 8]
divss xmm0, dword [0x1403bce90]
movss dword [rbp + 0x9ec], xmm0
movss xmm2, dword [rbp + 0x9e8]
movss xmm1, dword [rbp + 0x9ec]
lea rcx, [rbp + 0x764]
call fcn.140138c54
mov qword [rbp + 0x9f0], rax
movss xmm0, dword [0x1403bce8c]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0x168
mov r9d, dword [rbp + 0x9e0]
movss xmm2, dword [rbp + 0x9e4]
mov rdx, qword [rbp + 0x9f0]
mov rcx, qword [rbp + 0x9d8]
call fcn.140136f44
nop
movzx eax, byte [0x1405cf10c]
test eax, eax
je 0x140164649
call fcn.14013bfbc
nop
movzx eax, byte [0x1405cf08c]
test eax, eax
je 0x14016465a
call fcn.14013b3e1
nop
movzx eax, byte [0x1405cf1b8]
test eax, eax
je 0x140164917
call fcn.14013888f
mov qword [rbp + 0x9d8], rax
mov dword [rsp + 0x20], 0x64
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc8
lea rcx, [rbp + 0x784]
call fcn.140136b66
mov rcx, rax
call fcn.14013888a
mov dword [rbp + 0x9e0], eax
call fcn.140139c26
movss xmm2, dword [0x1403bce9c]
movss xmm1, dword [rax + 8]
lea rcx, [rbp + 0x7b4]
call fcn.140138c54
mov qword [rbp + 0x9e8], rax
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x7d4]
call fcn.140138c54
mov qword [rbp + 0x9f0], rax
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rbp + 0x9e0]
mov r8, qword [rbp + 0x9e8]
mov rdx, qword [rbp + 0x9f0]
mov rcx, qword [rbp + 0x9d8]
call fcn.140135162
nop
lea rax, [rbp + 0x854]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rbp + 0x874]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rbp + 0x894]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rbp + 0x854]
movzx r8d, byte [rbp + 0x874]
movzx edx, byte [rbp + 0x894]
lea rcx, [rbp + 0x800]
call fcn.140151380
mov rcx, rax
call fcn.140138646
movss xmm0, dword [0x1403bcea0]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x98]
call fcn.140137d4a
nop
call fcn.14013888f
mov qword [rbp + 0x9d8], rax
lea rax, [rbp + 0x914]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rbp + 0x934]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rbp + 0x954]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rbp + 0x914]
movzx r8d, byte [rbp + 0x934]
movzx edx, byte [rbp + 0x954]
lea rcx, [rbp + 0x8c0]
call fcn.140151490
mov rcx, rax
call fcn.140138646
mov qword [rbp + 0x9e0], rax
mov dword [rsp + 0x20], 0xff
mov r9d, 0xff
mov r8d, 0xff
mov edx, 0xff
lea rcx, [rbp + 0x974]
call fcn.140136b66
mov rcx, rax
call fcn.14013888a
mov dword [rbp + 0x9e8], eax
movss xmm0, dword [rbp + 0x9c]
divss xmm0, dword [0x1403bce90]
movss xmm1, dword [0x1403bce98]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rbp + 0x9ec], xmm0
movss xmm1, dword [rbp + 0x98]
divss xmm1, dword [0x1403bce90]
movss dword [rbp + 0x9f0], xmm1
call fcn.140139c26
movss xmm0, dword [rax + 8]
divss xmm0, dword [0x1403bce90]
movss xmm1, dword [rbp + 0x9f0]
subss xmm0, xmm1
movss xmm1, dword [rbp + 0x9ec]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x9a4]
call fcn.140138c54
mov qword [rbp + 0x9f8], rax
mov qword [rsp + 0x20], 0
mov r9, qword [rbp + 0x9e0]
mov r8d, dword [rbp + 0x9e8]
mov rdx, qword [rbp + 0x9f8]
mov rcx, qword [rbp + 0x9d8]
call fcn.140139d84
nop
mov ecx, 0x1b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x140164917
xor r8d, r8d
xor edx, edx
lea rcx, [0x1405cec00]
call fcn.14013a53b
nop
mov byte [0x1405cf1b8], 0
lea rcx, [rbp + 8]
call fcn.140139695
nop
call fcn.140135f22
nop
call fcn.14013b553
nop
call fcn.1401369e5
nop
call fcn.14013ae14
mov rcx, rax
call fcn.14013441f
nop
call fcn.140138b5f
mov qword [rbp + 0x9d8], rax
mov rax, qword [rbp + 0x9d8]
mov rax, qword [rax]
mov rax, qword [rax + 0x40]
mov qword [rbp + 0x9e0], rax
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x9d8]
call qword [rbp + 0x9e0]
nop
movzx eax, byte [0x1405cf1a8]
test eax, eax
je 0x14016498c
lea rcx, [rbp + 8]
call fcn.14013bbe8
nop
jmp 0x1401649b7
lea rdx, [0x1405cf1b4]
lea rcx, [rbp + 0x9c8]
call fcn.1401398d4
mov rcx, rax
call fcn.14013a38d
nop
jmp 0x140164374
lea rcx, [rbp + 8]
call fcn.14013bbe8
nop
lea rcx, [rbp - 0x40]
lea rdx, [0x1403ba520]
call fcn.14013a469
mov rcx, qword [rbp + 0xa00]
xor rcx, r13
call fcn.1401379df
lea rsp, [r13 + 0xa30]
pop rdi
pop rbp
pop r13
ret