Function at 0x18015f9f0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], 1
mov qword [rbp - 8], 0
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], 2
xor r12d, r12d
mov r15, qword [sym.imp.user32.dll_GetAsyncKeyState]
lea rdi, [rbp - 0x30]
xor ebx, ebx
jmp 0x18015fa5e
inc ebx
mov rax, qword [rbp - 0x28]
mov word [rax + r12*2], r14w
inc r12
mov qword [rbp - 0x20], r12
cmp ebx, 0x100
jae 0x18015fa86
mov ecx, ebx
call r15
mov r14d, eax
mov r12, qword [rbp - 0x20]
cmp r12, qword [rbp - 0x30]
jne 0x18015fa50
mov rcx, rdi
call fcn.180160280
jmp 0x18015fa50
mov rcx, qword [rbp - 0x28]
lea rbx, [rcx + r12*2]
xor r13d, r13d
lea rdi, [rbp - 0x18]
lea r12, [0x180233b74]
jmp 0x18015fab2
mov rax, qword [rbp - 0x10]
mov byte [rax + rsi], r14b
inc rsi
mov qword [rbp - 8], rsi
mov rcx, r15
cmp rcx, rbx
je 0x180160130
mov rax, r13
lea r15, [rcx + 2]
inc r13
cmp word [rcx], 0
mov rcx, r15
jns 0x18015fab2
movzx ecx, ax
add ecx, 0xfffffff8
cmp ecx, 0xd6
ja case.0x18015fae7.10
movsxd rcx, dword [r12 + rcx*4]
add rcx, r12
jmp rcx
mov r14b, 0x4a
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x64
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x2e
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x35
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x3a
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x61
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x34
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x2a
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x29
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x27
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x2f
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x53
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x56
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x47
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x5a
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x6d
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x58
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x48
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x24
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x60
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x2b
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x57
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x49
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x54
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x45
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x5e
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x63
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x39
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x46
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x68
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x59
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x2c
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x4c
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x4f
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x50
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x30
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x51
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x52
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x33
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x5d
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x4b
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x31
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x38
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x28
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x4d
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x3c
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x4e
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x44
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x25
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x43
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x3d
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x2d
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x55
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x3e
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x6c
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x65
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x3b
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x5c
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x5b
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x6e
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x37
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x26
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x5f
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x32
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x67
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x6a
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x69
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x36
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x66
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x6b
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov r14b, 0x3f
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
mov rcx, rdi
call fcn.1801601e0
jmp 0x18015faa0
add al, 0xd0
mov rcx, r15
cmp al, 0x2b
jae 0x18015fab2
movzx eax, al
movabs rcx, 0x7fffffe03ff
bt rcx, rax
mov rcx, r15
jae 0x18015fab2
lea rcx, [0x180233b47]
movzx r14d, byte [rax + rcx]
mov rsi, qword [rbp - 8]
cmp rsi, qword [rbp - 0x18]
jne 0x18015faa0
jmp 0x1801600e0
mov rax, qword [rbp - 8]
mov rsi, qword [rbp - 0x38]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rsi], xmm0
mov rdx, qword [rbp - 0x30]
test rdx, rdx
je 0x18016015e
mov rcx, qword [rbp - 0x28]
add rdx, rdx
mov r8d, 2
call fcn.18006a580
mov rax, rsi
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret