Function at 0x140018b00
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1400a8650]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rdi, rcx
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
mov ecx, 0x12
test al, 1
je 0x140018e05
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x140019277
movsxd rsi, dword [rdi + 0x144]
lea rbx, [0x1400b22d0]
cmp esi, 0xff
jge 0x140018bed
mov ecx, esi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx edx, ax
shr edx, 0xf
and dl, 1
je 0x140018bea
cmp byte [rsi + rbx], 0
jne 0x140018bea
mov byte [rsi + rbx], 1
mov rcx, rdi
call fcn.1400178f0
test al, al
je 0x140018bed
mov qword [rbp - 0x18], 0xf
xor esi, esi
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], sil
lea r8d, [rsi + 1]
lea rdx, [0x140091bbc]
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.1400192a0
nop
cmp qword [rbp - 0x18], 0x10
jb 0x140019277
mov rcx, qword [rbp - 0x30]
call fcn.140046688
jmp 0x140019277
mov byte [rsi + rbx], dl
movsxd rsi, dword [rdi + 0x148]
cmp esi, 0xff
jge 0x140018c75
mov ecx, esi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx edx, ax
shr edx, 0xf
and dl, 1
je 0x140018c72
cmp byte [rsi + rbx], 0
jne 0x140018c72
mov byte [rsi + rbx], 1
mov rcx, rdi
call fcn.140017de0
test al, al
je 0x140018c75
mov qword [rbp - 0x18], 0xf
xor esi, esi
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], sil
lea r8d, [rsi + 1]
lea rdx, [0x140091dd0]
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.1400192a0
nop
cmp qword [rbp - 0x18], 0x10
jb 0x140019277
mov rcx, qword [rbp - 0x30]
call fcn.140046688
jmp 0x140019277
mov byte [rsi + rbx], dl
mov edx, dword [rdi + 0x14c]
call fcn.140019f90
test al, al
je 0x140018cdd
mov rcx, rdi
call fcn.1400185b0
test al, al
je 0x140018cdd
mov qword [rbp - 0x18], 0xf
xor esi, esi
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], sil
lea r8d, [rsi + 1]
lea rdx, [0x140091f54]
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.1400192a0
nop
cmp qword [rbp - 0x18], 0x10
jb 0x140019277
mov rcx, qword [rbp - 0x30]
call fcn.140046688
jmp 0x140019277
mov edx, dword [rdi + 0x150]
call fcn.140019f90
test al, al
je 0x140018d39
mov qword [rbp - 0x18], 0xf
xor esi, esi
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], sil
lea r8d, [rsi + 1]
lea rdx, str.456.
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.1400192a0
nop
cmp qword [rbp - 0x18], 0x10
jb 0x140019277
mov rcx, qword [rbp - 0x30]
call fcn.140046688
jmp 0x140019277
mov edx, dword [rdi + 0x154]
call fcn.140019f90
test al, al
je 0x140018d95
mov qword [rbp - 0x18], 0xf
xor esi, esi
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], sil
lea r8d, [rsi + 1]
lea rdx, [0x140091f88]
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.1400192a0
nop
cmp qword [rbp - 0x18], 0x10
jb 0x140019277
mov rcx, qword [rbp - 0x30]
call fcn.140046688
jmp 0x140019277
mov edx, dword [rdi + 0x140]
call fcn.140019f90
test al, al
je 0x140019277
mov rcx, rdi
call fcn.1400178f0
test al, al
je 0x140019277
mov qword [rbp - 0x18], 0xf
xor esi, esi
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], sil
lea r8d, [rsi + 1]
lea rdx, [0x140091cc8]
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.1400192a0
nop
cmp qword [rbp - 0x18], 0x10
jb 0x140019277
mov rcx, qword [rbp - 0x30]
call fcn.140046688
jmp 0x140019277
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x140019155
movsxd rsi, dword [rdi + 0x144]
lea rbx, [0x1400b22d0]
cmp esi, 0xff
jge 0x140018eff
mov ecx, esi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx edx, ax
shr edx, 0xf
and dl, 1
je 0x140018efc
cmp byte [rsi + rbx], 0
jne 0x140018efc
mov byte [rsi + rbx], 1
mov rcx, rdi
call fcn.140017de0
test al, al
je 0x140018eff
mov qword [rbp - 0x18], 0xf
xor esi, esi
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], sil
lea r8d, [rsi + 4]
lea rdx, str.MTP1
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.14001b650
mov dword [rax + 0x30], 2
cmp qword [rbp - 0x18], 0x10
jb 0x140018eaf
mov rcx, qword [rbp - 0x30]
call fcn.140046688
mov qword [rbp - 0x18], 0xf
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], 0
mov r8d, 4
lea rdx, str.MTP1
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.1400192a0
nop
cmp qword [rbp - 0x18], 0x10
jb 0x140019277
mov rcx, qword [rbp - 0x30]
call fcn.140046688
jmp 0x140019277
mov byte [rsi + rbx], dl
movsxd rsi, dword [rdi + 0x148]
cmp esi, 0xff
jge 0x140018fe1
mov ecx, esi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx edx, ax
shr edx, 0xf
and dl, 1
je 0x140018fde
cmp byte [rsi + rbx], 0
jne 0x140018fde
mov byte [rsi + rbx], 1
mov rcx, rdi
call fcn.140017de0
test al, al
je 0x140018fe1
mov qword [rbp - 0x18], 0xf
xor esi, esi
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], sil
lea r8d, [rsi + 4]
lea rdx, str.MTP1
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.14001b650
mov dword [rax + 0x30], 4
cmp qword [rbp - 0x18], 0x10
jb 0x140018f91
mov rcx, qword [rbp - 0x30]
call fcn.140046688
mov qword [rbp - 0x18], 0xf
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], 0
mov r8d, 4
lea rdx, str.MTP1
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.1400192a0
nop
cmp qword [rbp - 0x18], 0x10
jb 0x140019277
mov rcx, qword [rbp - 0x30]
call fcn.140046688
jmp 0x140019277
mov byte [rsi + rbx], dl
mov edx, dword [rdi + 0x14c]
call fcn.140019f90
test al, al
je 0x14001909b
mov rcx, rdi
call fcn.140017de0
test al, al
je 0x14001909b
mov qword [rbp - 0x18], 0xf
xor esi, esi
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], sil
lea r8d, [rsi + 4]
lea rdx, str.MTP1
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.14001b650
mov dword [rax + 0x30], 8
cmp qword [rbp - 0x18], 0x10
jb 0x14001904e
mov rcx, qword [rbp - 0x30]
call fcn.140046688
mov qword [rbp - 0x18], 0xf
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], 0
mov r8d, 4
lea rdx, str.MTP1
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.1400192a0
nop
cmp qword [rbp - 0x18], 0x10
jb 0x140019277
mov rcx, qword [rbp - 0x30]
call fcn.140046688
jmp 0x140019277
mov edx, dword [rdi + 0x150]
call fcn.140019f90
test al, al
je 0x140019277
mov rcx, rdi
call fcn.140017de0
test al, al
je 0x140019277
mov qword [rbp - 0x18], 0xf
xor esi, esi
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], sil
lea r8d, [rsi + 4]
lea rdx, str.MTP1
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.14001b650
mov dword [rax + 0x30], 0x10
cmp qword [rbp - 0x18], 0x10
jb 0x140019108
mov rcx, qword [rbp - 0x30]
call fcn.140046688
mov qword [rbp - 0x18], 0xf
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], 0
mov r8d, 4
lea rdx, str.MTP1
lea rcx, [rbp - 0x30]
call fcn.14000c8c0
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.1400192a0
nop
cmp qword [rbp - 0x18], 0x10
jb 0x140019277
mov rcx, qword [rbp - 0x30]
call fcn.140046688
jmp 0x140019277
mov ecx, 0x24
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
je 0x140019271
cmp byte [0x1400b22f4], 0
jne 0x140019271
mov byte [0x1400b22f4], 1
mov rax, qword [rdi]
mov rbx, qword [rax]
cmp rbx, rax
je 0x140019277
xor esi, esi
cmp byte [rbx + 0x80], sil
je 0x140019217
mov eax, dword [rbx + 0x40]
test eax, eax
je 0x1400191a9
cmp eax, 6
jne 0x1400191b2
cmp byte [rbx + 0x81], sil
jne 0x140019217
cmp eax, 2
jne 0x14001920b
lea rdx, [rbx + 0x20]
mov rcx, rdi
call fcn.14001b6e0
mov r14, rax
mov rcx, qword [rdi + 0xc8]
test rcx, rcx
je 0x140019206
mov qword [rsp + 0x20], rsi
mov r9d, 4
lea r8, [rbp - 0x40]
mov rdx, qword [rax + 8]
mov rcx, qword [rcx + 0x80]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140019206
mov eax, dword [r14 + 0x30]
cmp dword [rbp - 0x40], eax
sete al
test al, al
je 0x140019217
jmp 0x14001920b
mov dword [rbp - 0x40], esi
jmp 0x140019217
lea rdx, [rbx + 0x20]
mov rcx, rdi
call fcn.1400192a0
cmp byte [rbx + 0x19], sil
jne 0x140019266
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], sil
jne 0x140019241
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], sil
jne 0x140019266
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], sil
je 0x140019233
jmp 0x140019266
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], sil
jne 0x140019263
nop dword [rax + rax]
cmp rbx, qword [rax + 0x10]
jne 0x140019263
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], sil
je 0x140019250
mov rbx, rax
cmp rbx, qword [rdi]
jne 0x140019190
jmp 0x140019277
mov byte [0x1400b22f4], al
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400466a0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret