Function at 0x1800348f0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x18008b340]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rdi, r9
mov rbx, r8
mov ebp, edx
mov r15, rcx
call fcn.1800114a0
test rax, rax
je case.0x180034b6d.527
call fcn.180011970
mov rsi, rax
call fcn.1800114a0
test rax, rax
je 0x180034948
call fcn.180011970
mov r14, qword [rax + 0xe0]
jmp 0x18003494b
xor r14d, r14d
cmp ebp, 0x200
ja 0x180034b43
je 0x180034b01
lea eax, [rbp - 7]
cmp eax, 0xfe
ja case.0x180034b6d.527
lea rdx, [0x180000000]
movzx eax, byte [rdx + rax + 0x34cec]
mov ecx, dword [rdx + rax*4 + 0x34cd8]
add rcx, rdx
jmp rcx
lea eax, [rbp - 0x100]
test eax, 0xfffffffb
sete al
cmp rbx, 0x100
jae 0x1800349a4
mov byte [rbx + rsi + 0x13c], al
cmp rbx, 0x11
jne 0x1800349fb
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov ecx, 0xa3
and al, 1
mov byte [rsi + 0x1de], al
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp byte [rsi + 0x1de], 0
mov byte [rsi + 0x1df], al
jne 0x1800349ee
test al, al
jne 0x1800349ee
mov byte [rsi + 0x138], al
jmp case.0x180034b6d.527
mov al, 1
mov byte [rsi + 0x138], al
jmp case.0x180034b6d.527
cmp rbx, 0x10
jne 0x180034a52
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov ecx, 0xa1
and al, 1
mov byte [rsi + 0x1dc], al
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp byte [rsi + 0x1dc], 0
mov byte [rsi + 0x1dd], al
jne 0x180034a45
test al, al
jne 0x180034a45
mov byte [rsi + 0x139], al
jmp case.0x180034b6d.527
mov al, 1
mov byte [rsi + 0x139], al
jmp case.0x180034b6d.527
cmp rbx, 0x12
jne case.0x180034b6d.527
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov ecx, 0xa5
and al, 1
mov byte [rsi + 0x1e0], al
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp byte [rsi + 0x1e0], 0
mov byte [rsi + 0x1e1], al
jne 0x180034aa0
test al, al
jne 0x180034aa0
mov byte [rsi + 0x13a], al
jmp case.0x180034b6d.527
mov al, 1
mov byte [rsi + 0x13a], al
jmp case.0x180034b6d.527
cmp ebp, 7
mov rcx, rsi
sete dl
call fcn.18000a360
jmp case.0x180034b6d.527
lea rax, [rbx - 1]
cmp rax, 0xfffe
ja case.0x180034b6d.527
movzx edx, bx
mov rcx, rsi
call fcn.18000a370
jmp case.0x180034b6d.527
cmp di, 1
jne case.0x180034b6d.527
call fcn.180034770
test al, al
je case.0x180034b6d.527
mov eax, 1
jmp 0x180034cb4
cmp byte [r14 + 0x10], 0
mov qword [r14 + 8], r15
jne case.0x180034b6d.527
mov edi, 2
mov dword [rsp + 0x20], 0x18
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x24], edi
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x30], 0
call qword [sym.imp.USER32.dll_TrackMouseEvent]
mov byte [r14 + 0x10], 1
jmp case.0x180034b6d.527
lea eax, [rbp - 0x201]
cmp eax, 0xa2
ja case.0x180034b6d.527
lea rdx, [0x180000000]
movzx eax, byte [rdx + rax + 0x34e08]
mov ecx, dword [rdx + rax*4 + 0x34dec]
add rcx, rdx
jmp rcx
cmp qword [r14 + 8], r15
jne 0x180034b7d
mov qword [r14 + 8], 0
mov byte [r14 + 0x10], 0
jmp case.0x180034b6d.527
cmp ebp, 0x204
je 0x180034b99
xor edi, edi
cmp ebp, 0x206
jne 0x180034b9e
mov edi, 1
cmp ebp, 0x207
je 0x180034bae
cmp ebp, 0x209
jne 0x180034bb3
mov edi, 2
cmp ebp, 0x20b
je 0x180034bc3
cmp ebp, 0x20d
jne 0x180034bd5
xor edi, edi
shr rbx, 0x10
cmp bx, 1
setne dil
add rdi, 3
call fcn.180013750
test al, al
jne 0x180034bf2
call qword [sym.imp.USER32.dll_GetCapture]
test rax, rax
jne 0x180034bf2
mov rcx, r15
call qword [sym.imp.USER32.dll_SetCapture]
mov byte [rdi + rsi + 0x128], 1
jmp case.0x180034b6d.527
xor edi, edi
cmp ebp, 0x205
sete dil
cmp ebp, 0x208
jne 0x180034c1a
mov edi, 2
jmp 0x180034c34
cmp ebp, 0x20c
jne 0x180034c34
xor edi, edi
shr rbx, 0x10
cmp bx, 1
setne dil
add rdi, 3
mov byte [rdi + rsi + 0x128], 0
call fcn.180013750
test al, al
jne case.0x180034b6d.527
call qword [sym.imp.USER32.dll_GetCapture]
cmp rax, r15
jne case.0x180034b6d.527
call qword [sym.imp.USER32.dll_ReleaseCapture]
jmp case.0x180034b6d.527
shr rbx, 0x10
movsx eax, bx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1800552a4]
addss xmm0, dword [rsi + 0x130]
movss dword [rsi + 0x130], xmm0
jmp case.0x180034b6d.527
shr rbx, 0x10
movsx eax, bx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1800552a4]
addss xmm0, dword [rsi + 0x134]
movss dword [rsi + 0x134], xmm0
jmp case.0x180034b6d.527
cmp ebx, 7
jne case.0x180034b6d.527
mov byte [r14 + 0x2d], 1
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1800505a0
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret