Function at 0x1800163f0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
cmp byte [0x1800a9d08], 0
movabs rdi, 0x7fffffff0000
je 0x1800164aa
mov ecx, dword [0x1800932d4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001646a
call fcn.18000f4e0
lea rcx, [rax + 0x4f8]
cmp rcx, 0x40000
jbe 0x1800164aa
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800164aa
mov rcx, qword [rcx]
add rcx, 0x84
cmp rcx, 0x40000
jbe 0x1800164aa
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800164aa
movss xmm0, dword [0x1800a9ce0]
movss dword [rcx], xmm0
jmp 0x1800164aa
call fcn.18000f4e0
lea rcx, [rax + 0x4f8]
cmp rcx, 0x40000
jbe 0x1800164aa
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800164aa
mov rcx, qword [rcx]
add rcx, 0x84
cmp rcx, 0x40000
jbe 0x1800164aa
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800164aa
mov dword [rcx], 0x40200000
mov rcx, qword [0x1800a9c18]
add rcx, 0x35f0af0
cmp rcx, 0x40000
jbe 0x1800164eb
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800164eb
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x1800164eb
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800164eb
mov rbx, qword [rcx]
jmp 0x1800164ed
xor ebx, ebx
mov ecx, dword [0x1800932bc]
add rbx, 0x18
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001651c
cmp rbx, 0x40000
jbe 0x18001653a
lea rax, [rbx + 4]
cmp rax, rdi
jae 0x18001653a
mov dword [rbx], 0x41200000
jmp 0x18001653a
cmp rbx, 0x40000
jbe 0x18001653a
lea rax, [rbx + 4]
cmp rax, rdi
jae 0x18001653a
movss xmm0, dword [0x1800932b4]
movss dword [rbx], xmm0
cmp byte [0x1800a9d03], 0
je 0x1800165a6
call fcn.18000f4e0
lea rcx, [rax + 0x4f8]
cmp rcx, 0x40000
jbe 0x1800165a6
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800165a6
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0xc4]
cmp r8, 0x40000
jbe 0x180016587
lea rax, [r8 + 4]
cmp rax, rdi
jae 0x180016587
mov dword [r8], 0
lea rcx, [rdx + 0xc8]
cmp rcx, 0x40000
jbe 0x1800165a6
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800165a6
mov dword [rcx], 0
call fcn.18000f4e0
mov rcx, qword [0x1800a9c18]
add rcx, 0x35eec80
cmp rcx, 0x40000
jbe 0x18001666a
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18001666a
mov rdx, qword [rcx]
add rdx, 0xb8
cmp rdx, 0x40000
jbe 0x18001666a
lea rax, [rdx + 8]
cmp rax, rdi
jae 0x18001666a
mov rdx, qword [rdx]
mov rcx, rdx
lea r8, [rdx + 0x2c]
cmp r8, 0x40000
jbe 0x180016616
lea rax, [r8 + 4]
cmp rax, rdi
jae 0x180016616
mov dword [r8], 0x3f800000
lea rdx, [rcx + 0x20]
cmp rdx, 0x40000
jbe 0x180016632
lea rax, [rdx + 4]
cmp rax, rdi
jae 0x180016632
mov dword [rdx], 0x3f800000
lea rdx, [rcx + 0x34]
cmp rdx, 0x40000
jbe 0x18001664e
lea rax, [rdx + 4]
cmp rax, rdi
jae 0x18001664e
mov dword [rdx], 0x3f800000
add rcx, 0x28
cmp rcx, 0x40000
jbe 0x18001666a
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18001666a
mov dword [rcx], 0x3f800000
cmp byte [0x1800a9d05], 0
je 0x1800166d0
call fcn.18000f4e0
lea rcx, [rax + 0x690]
cmp rcx, 0x40000
jbe 0x1800166a6
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800166a6
mov eax, dword [rcx]
mov rdx, rcx
or eax, 4
mov dword [rcx], eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rdx, rcx
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
cmp rdx, 0x40000
jbe 0x1800166d0
lea rax, [rdx + 4]
cmp rax, rdi
jae 0x1800166d0
mov eax, dword [rcx]
or eax, 4
mov dword [rdx], eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret