Function at 0x180010c34
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rsi, rcx
mov rbp, r8
mov ecx, 0x10
mov rdi, rdx
call qword [sym.imp.USER32.dll_GetKeyState]
mov ebx, 1
movzx r14d, ax
shr r14d, 7
and r14b, bl
lea ecx, [rbx + 0x10]
call qword [sym.imp.USER32.dll_GetKeyState]
mov rcx, rdi
lea edx, [rbx + 0x24]
movzx r9d, ax
shr r9d, 7
and r9b, bl
sub rcx, rdx
je 0x180010ee9
sub rcx, rbx
je 0x180010eb1
sub rcx, rbx
je 0x180010d28
cmp rcx, rbx
je 0x180010cbd
mov r8, rbp
mov rdx, rdi
mov rcx, rsi
call fcn.18000f804
jmp 0x1800110eb
mov r8, qword [rsi + 0x108]
xor edx, edx
mov eax, dword [rsi + 0x100]
movsx r9d, word [r8 + 0x21c]
movsx ecx, word [r8 + 0x21e]
mov r10d, dword [r8 + 0x250]
div r9d
xor edx, edx
div ecx
cmp r10d, eax
je 0x1800110e9
test r14b, r14b
je 0x180010d02
mov edx, 0x28
jmp 0x180010ef0
mov r8d, dword [r8 + 0x254]
lea edx, [r10 + 1]
lea eax, [r9 + 1]
xor r9d, r9d
mov rcx, rsi
cmp r8d, eax
jne 0x1800110e4
dec r8d
jmp 0x1800110e4
xor edi, edi
test r14b, r14b
je 0x180010d3f
cmp dword [rsi + 0x128], edi
jne 0x180010d3f
lea edx, [rdi + 0x27]
jmp 0x180010ef0
mov r8, qword [rsi + 0x108]
cmp dword [r8 + 0x248], ebx
jne 0x180010d70
mov rcx, rsi
call fcn.18000f660
mov rcx, rsi
mov ebx, eax
call fcn.18000f6fc
cmp ebx, eax
cmovl ebx, eax
mov r8d, ebx
mov edx, ebx
jmp 0x180010f2c
mov edx, dword [r8 + 0x250]
mov eax, edx
movsx r15d, word [r8 + 0x21c]
mov r11d, dword [r8 + 0x254]
movsx ebp, word [r8 + 0x21e]
imul eax, r15d
add eax, r11d
imul eax, ebp
cmp eax, dword [rsi + 0x100]
ja 0x1800110e9
test r9b, r9b
je 0x180010e93
mov r9d, dword [r8 + 0x220]
mov ecx, 8
mov r10d, 0xfffffffd
cmp r9d, ebx
jne 0x180010dcc
mov edx, ecx
mov eax, ecx
jmp 0x180010dee
lea eax, [r9 - 3]
mov edx, 2
test r10d, eax
je 0x180010dde
mov eax, edx
jmp 0x180010dee
mov eax, ebx
cmp r9d, 3
je 0x180010dec
cmp r9d, 5
jne 0x180010dee
mov edx, ebx
mov r14d, dword [r8 + 0x258]
imul ebp, eax
sub ebp, edx
cmp r14d, ebp
jne 0x180010e16
mov r10d, dword [r8 + 0x250]
cmp r11d, r15d
jae 0x180010e11
lea ebx, [r11 + 1]
jmp 0x180010e85
inc r10d
jmp 0x180010e85
cmp r9d, ebx
jne 0x180010e20
mov r11d, ecx
jmp 0x180010e32
lea eax, [r9 - 3]
and eax, r10d
neg eax
sbb r11d, r11d
neg r11d
add r11d, ebx
xor edx, edx
mov eax, r14d
div r11d
test edx, edx
je 0x180010e5f
cmp r9d, ebx
je 0x180010e52
lea eax, [r9 - 3]
and eax, r10d
neg eax
sbb ecx, ecx
neg ecx
add ecx, ebx
xor edx, edx
mov eax, r14d
div ecx
lea edi, [r14 + rdx]
jmp 0x180010e77
cmp r9d, ebx
je 0x180010e73
lea eax, [r9 - 3]
and eax, r10d
neg eax
sbb ecx, ecx
neg ecx
add ecx, ebx
lea edi, [r14 + rcx]
mov ebx, dword [r8 + 0x254]
mov r10d, dword [r8 + 0x250]
mov r9d, edi
mov r8d, ebx
mov edx, r10d
jmp 0x1800110e1
xor r9d, r9d
mov rcx, rsi
cmp r11d, r15d
jae 0x180010ea7
lea r8d, [r11 + 1]
jmp 0x1800110e4
inc edx
mov r8d, ebx
jmp 0x1800110e4
mov rax, qword [rsi + 0x108]
mov edx, dword [rax + 0x250]
test edx, edx
je 0x1800110e9
test r14b, r14b
je 0x180010ed2
mov edx, 0x26
jmp 0x180010ef0
mov r8d, dword [rax + 0x254]
dec edx
movsx eax, word [rax + 0x21c]
add eax, ebx
jmp 0x180010d11
xor edi, edi
test r14b, r14b
je 0x180010f00
mov r8, rbp
mov rcx, rsi
call fcn.180012904
jmp 0x1800110e9
mov r8, qword [rsi + 0x108]
cmp dword [r8 + 0x248], ebx
jne 0x180010f40
mov rcx, rsi
call fcn.18000f660
mov rcx, rsi
mov ebx, eax
call fcn.18000f6fc
cmp ebx, eax
cmovl eax, ebx
mov r8d, eax
mov edx, eax
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.180012ed4
jmp 0x1800110e9
test r9b, r9b
je 0x1800110a5
mov r9d, dword [r8 + 0x258]
test r9d, r9d
jne 0x180011015
mov r11d, dword [r8 + 0x254]
cmp r11d, ebx
jne 0x180010fc9
mov r9d, dword [r8 + 0x250]
test r9d, r9d
je 0x180010fc9
mov ecx, dword [r8 + 0x220]
cmp ecx, ebx
jne 0x180010f85
mov ecx, 8
mov ebx, ecx
jmp 0x180010fac
lea eax, [rcx - 3]
mov r10d, 0xfffffffd
mov edx, 2
test r10d, eax
je 0x180010f9c
mov ebx, edx
jmp 0x180010fa6
cmp ecx, 3
je 0x180010faa
cmp ecx, 5
je 0x180010faa
mov ecx, edx
jmp 0x180010fac
mov ecx, ebx
movsx r11d, word [r8 + 0x21c]
lea r10d, [r9 - 1]
movsx r9d, word [r8 + 0x21e]
imul r9d, ebx
jmp 0x18001109a
mov ecx, dword [r8 + 0x220]
cmp ecx, ebx
jne 0x180010fdd
mov ecx, 8
mov ebx, ecx
jmp 0x180011004
lea eax, [rcx - 3]
mov r10d, 0xfffffffd
mov edx, 2
test r10d, eax
je 0x180010ff4
mov ebx, edx
jmp 0x180010ffe
cmp ecx, 3
je 0x180011002
cmp ecx, 5
je 0x180011002
mov ecx, edx
jmp 0x180011004
mov ecx, ebx
movsx r9d, word [r8 + 0x21e]
dec r11d
imul r9d, ebx
jmp 0x180011093
mov r11d, dword [r8 + 0x220]
mov ecx, 8
mov r10d, 0xfffffffd
cmp r11d, ebx
jne 0x180011030
mov ebp, ecx
jmp 0x18001103f
lea eax, [r11 - 3]
and eax, r10d
neg eax
sbb ebp, ebp
neg ebp
add ebp, ebx
xor edx, edx
mov eax, r9d
div ebp
test edx, edx
je 0x180011078
cmp r11d, ebx
je 0x18001105e
lea eax, [r11 - 3]
and eax, r10d
neg eax
sbb ecx, ecx
neg ecx
add ecx, ebx
mov r10d, dword [r8 + 0x250]
xor edx, edx
mov r11d, dword [r8 + 0x254]
mov eax, r9d
div ecx
sub r9d, edx
jmp 0x18001109d
cmp r11d, ebx
je 0x18001108c
lea eax, [r11 - 3]
and eax, r10d
neg eax
sbb ecx, ecx
neg ecx
add ecx, ebx
mov r11d, dword [r8 + 0x254]
mov r10d, dword [r8 + 0x250]
sub r9d, ecx
mov r8d, r11d
jmp 0x180010e8b
mov eax, dword [r8 + 0x254]
cmp eax, ebx
jne 0x1800110c7
mov edx, dword [r8 + 0x250]
test edx, edx
je 0x1800110c7
movsx r8d, word [r8 + 0x21c]
dec edx
jmp 0x1800110de
mov edx, dword [r8 + 0x250]
cmp dword [r8 + 0x258], edi
mov r8d, eax
jne 0x1800110de
lea r8d, [rax - 1]
xor r9d, r9d
mov rcx, rsi
call fcn.1800127c4
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret