Function at 0x1800821e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xb0
mov r15, rcx
xor edi, edi
cmp byte [0x1800b18ac], dil
je 0x1800826d6
mov rax, qword [rcx + 8]
mov r12, qword [rax]
mov rax, qword [rcx + 0x10]
mov r13, qword [rax]
mov qword [rbp - 0x69], r13
mov rcx, qword [rcx]
mov rcx, qword [rcx]
call fcn.180001da0
mov rbx, rax
lea ecx, [rdi + 0x10]
call fcn.180086528
mov rsi, rax
mov qword [rbp + 0x6f], rax
mov qword [rax], rbx
mov rcx, qword [0x1800b1738]
mov qword [rax + 8], rcx
mov qword [rbp - 0x31], rax
test rbx, rbx
je 0x1800826c9
lea rdx, [rbp - 0x59]
mov rcx, r12
call fcn.180002950
movss xmm0, dword [rbp - 0x55]
addss xmm0, dword [0x18009ef9c]
movss dword [rbp - 0x55], xmm0
mov r14b, 1
cmp byte [0x1800b0394], dil
je 0x18008240e
mov rcx, qword [r15 + 8]
mov rcx, qword [rcx]
call fcn.1800173b0
mov rbx, rax
mov qword [rbp + 0x6f], rax
lea ecx, [rdi + 0x10]
call fcn.180086528
mov r13, rax
mov qword [rbp - 0x49], rax
mov qword [rax], rbx
lea rcx, str.jvm.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.JNI_GetCreatedJavaVMs
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r8d, r8d
lea edx, [rdi + 1]
lea rcx, [rbp + 0x77]
call rax
mov rcx, qword [rbp + 0x77]
mov rax, qword [rcx]
mov r9, qword [rax + 0x20]
xor r8d, r8d
lea rdx, [rbp + 0x7f]
call r9
mov rax, qword [rbp + 0x7f]
mov qword [r13 + 8], rax
mov qword [rbp - 0x29], r13
cmp qword [r13], rdi
je 0x1800823c0
mov rcx, r13
call fcn.180016d40
mov rbx, rax
lea ecx, [rdi + 0x10]
call fcn.180086528
mov rdi, rax
mov qword [rbp - 0x39], rax
mov qword [rax], rbx
lea rcx, str.jvm.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.JNI_GetCreatedJavaVMs
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x41]
call rax
mov rcx, qword [rbp - 0x41]
mov rax, qword [rcx]
mov r9, qword [rax + 0x20]
xor r8d, r8d
lea rdx, [rbp - 0x49]
call r9
mov rax, qword [rbp - 0x49]
mov qword [rdi + 8], rax
mov qword [rbp - 0x39], rdi
cmp qword [rdi], 0
je 0x180082396
mov rcx, rdi
call fcn.180018c40
mov rbx, qword [rbp + 0x6f]
test al, al
jne 0x18008239a
mov rcx, qword [r15 + 0x18]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, rbx
call r8
xor r14b, r14b
jmp 0x18008239a
mov rbx, qword [rbp + 0x6f]
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, qword [rdi]
call r8
nop
mov edx, 0x10
mov rcx, rdi
call fcn.1800868e4
xor edi, edi
jmp 0x1800823c3
xor r14b, r14b
test rbx, rbx
je 0x1800823dc
mov rcx, qword [r15 + 0x18]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, rbx
call r8
movzx r14d, r14b
test r13, r13
cmove r14d, edi
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, qword [r13]
call r8
nop
mov edx, 0x10
mov rcx, r13
call fcn.1800868e4
mov r13, qword [rbp - 0x69]
mov ecx, dword [0x1800b13e4]
mov rax, qword gs:[0x58]
mov edx, 8
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1800b4b74], ecx
jle 0x1800824a9
lea rcx, [0x1800b4b74]
call fcn.180086418
cmp dword [0x1800b4b74], 0xffffffff
jne 0x1800824a9
mov ecx, 0x18
call fcn.180086528
mov rdi, rax
mov qword [rbp + 0x6f], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_class_c_timer_.0
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [rbx], rax
mov qword [0x1800b4b98], rbx
mov qword [0x1800b4ba0], rdi
lea rcx, [0x18008bad0]
call fcn.1800868cc
nop
lea rcx, [0x1800b4b74]
call fcn.1800863b8
test r14b, r14b
je 0x1800826b9
cmp byte [0x1800b0395], 0
je 0x180082591
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1800826b9
movsd xmm0, qword [rbp - 0x59]
movsd qword [rbp - 0x69], xmm0
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x61], eax
lea rdx, [rbp - 0x69]
mov rcx, r13
call fcn.1800604d0
mov r14, rax
mov rdx, rax
mov rcx, r13
call fcn.180066630
test al, al
je 0x180082530
mov rcx, r12
call fcn.180002410
test al, al
je 0x180082530
lea rdx, [rbp - 0x21]
mov rcx, rsi
call fcn.180082050
nop
mov dl, 1
mov rcx, qword [rax]
call fcn.180081f20
nop
mov rdi, qword [rbp - 0x19]
jmp 0x1800825e7
cmp byte [0x1800b1970], 0
je 0x1800826a5
mov rcx, r12
call fcn.180002410
test al, al
je 0x1800826a5
movsxd rdi, dword [0x1800b404c]
mov rax, qword [0x1800b4b98]
mov rbx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, rbx
cmp rax, rdi
jb 0x1800826c9
lea rdx, [rbp - 0x11]
mov rcx, rsi
call fcn.180082050
nop
xor edx, edx
mov rcx, qword [rax]
call fcn.180081f20
nop
mov rdi, qword [rbp - 9]
jmp 0x180082674
movsd xmm0, qword [rbp - 0x59]
movsd qword [rbp - 0x69], xmm0
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x61], eax
lea rdx, [rbp - 0x69]
mov rcx, r13
call fcn.1800604d0
mov r14, rax
mov rdx, rax
mov rcx, r13
call fcn.180066630
test al, al
je 0x180082624
mov rcx, r12
call fcn.180002410
test al, al
je 0x180082624
lea rdx, [rbp - 1]
mov rcx, rsi
call fcn.180082050
nop
mov dl, 1
mov rcx, qword [rax]
call fcn.180081f20
nop
mov rdi, qword [rbp + 7]
test rdi, rdi
je 0x180082618
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x180082618
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], ebx
cmp ebx, 1
jne 0x180082618
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov byte [0x1800b1970], 1
jmp 0x1800826a5
cmp byte [0x1800b1970], 0
je 0x1800826a5
mov rcx, r12
call fcn.180002410
test al, al
je 0x1800826a5
movsxd rdi, dword [0x1800b404c]
mov rax, qword [0x1800b4b98]
mov rbx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, rbx
cmp rax, rdi
jb 0x1800826c9
lea rdx, [rbp + 0xf]
mov rcx, rsi
call fcn.180082050
nop
xor edx, edx
mov rcx, qword [rax]
call fcn.180081f20
nop
mov rdi, qword [rbp + 0x17]
test rdi, rdi
je 0x1800826a5
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800826a5
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], ebx
cmp ebx, 1
jne 0x1800826a5
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rcx, qword [r15 + 0x18]
mov rax, qword [rcx]
mov rdx, r14
mov r8, qword [rax + 0xb8]
call r8
mov rbx, qword [0x1800b4b98]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [rbx], rax
mov edx, 0x10
mov rcx, rsi
call fcn.1800868e4
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret