Function at 0x180052b50
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov rdi, rcx
mov rcx, qword [0x1803cd6b8]
call fcn.180007240
mov rcx, qword [0x1803cd6b8]
mov rsi, rax
call fcn.180006fb0
mov rcx, qword [0x1803cd6b8]
mov rbp, rax
call fcn.180006d20
mov ecx, dword [0x1803cddec]
mov r14, rax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180052bc6
mov ecx, dword [0x1803ce154]
dec ecx
mov dword [0x1803ce154], ecx
cmp ecx, 0x19
jge 0x180052bc6
cmp byte [rdi], 0
sete al
mov byte [rdi], al
mov dword [0x1803ce154], 0x19
mov rax, qword gs:[0x58]
mov ecx, dword [0x1803ce200]
mov r15d, 4
mov rbx, qword [rax + rcx*8]
mov eax, dword [rbx + r15]
cmp dword [0x1803ce168], eax
jg 0x180052ecf
mov eax, dword [rbx + r15]
cmp dword [0x1803ce178], eax
jg 0x180052e9a
cmp byte [rdi], 0
je 0x180052e38
mov qword [rsp + 0x88], r12
mov ecx, 0x41
mov qword [rsp + 0x90], r13
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm7
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x44
movzx ebx, ax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x53
movzx r15d, ax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x57
movzx r12d, ax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x10
movzx r13d, ax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x20
mov word [rsp + 0x80], ax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm1, dword [0x1800d1304]
test bx, bx
je 0x180052c93
movss xmm0, dword [rdi + 4]
subss xmm0, xmm1
jmp 0x180052ca2
test r15w, r15w
je 0x180052ca7
movss xmm0, dword [rdi + 4]
addss xmm0, xmm1
movss dword [rdi + 4], xmm0
test r12w, r12w
mov r12, qword [rsp + 0x88]
je 0x180052cc0
movss xmm0, dword [rdi + 0xc]
subss xmm0, xmm1
jmp 0x180052ccf
test r13w, r13w
je 0x180052cd4
movss xmm0, dword [rdi + 0xc]
addss xmm0, xmm1
movss dword [rdi + 0xc], xmm0
cmp word [rsp + 0x80], 0
mov r13, qword [rsp + 0x90]
je 0x180052cf2
movss xmm0, dword [rdi + 8]
subss xmm0, xmm1
jmp 0x180052d00
test ax, ax
je 0x180052d05
movss xmm0, dword [rdi + 8]
addss xmm0, xmm1
movss dword [rdi + 8], xmm0
movss xmm2, dword [0x1803ce158]
movss xmm6, dword [0x1800dfcb8]
comiss xmm2, xmm6
movss xmm3, dword [0x1803ce160]
movss xmm1, dword [0x1803ce15c]
movss xmm7, dword [0x1800d1300]
jbe 0x180052d50
comiss xmm7, xmm2
jbe 0x180052d50
comiss xmm1, xmm6
jbe 0x180052d50
comiss xmm7, xmm1
jbe 0x180052d50
cvtps2pd xmm0, xmm3
comisd xmm0, xmmword [0x1800dfcc0]
ja 0x180052d7d
nop
movss xmm0, dword [0x1803ce164]
lea rdx, [rsp + 0x20]
mov rcx, r14
movss dword [rsp + 0x2c], xmm0
movss dword [rsp + 0x20], xmm2
movss dword [rsp + 0x24], xmm1
movss dword [rsp + 0x28], xmm3
call fcn.18000a130
test rbp, rbp
je 0x180052db5
movss xmm0, dword [0x1803ce170]
comiss xmm0, xmm6
jbe 0x180052da6
comiss xmm7, xmm0
jbe 0x180052da6
movss xmm0, dword [0x1803ce174]
comiss xmm0, xmm6
jbe 0x180052da6
comiss xmm7, xmm0
ja 0x180052db5
mov rdx, qword [0x1803ce170]
mov rcx, rbp
call fcn.18000a7a0
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm6, xmmword [rsp + 0x40]
test rsi, rsi
je 0x180052e08
movss xmm1, dword [0x1800d1318]
mov rcx, rsi
call fcn.18000a300
xorps xmm1, xmm1
mov rcx, rsi
call fcn.18000a570
xorps xmm1, xmm1
mov rcx, rsi
call fcn.18000a5e0
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x20], 0
mov rcx, rsi
mov dword [rsp + 0x28], 0
call fcn.18000a760
movss xmm0, dword [rdi + 4]
lea rdx, [rsp + 0x20]
movss xmm1, dword [rdi + 8]
mov rcx, r14
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [rdi + 0xc]
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x24], xmm1
call fcn.18000a810
jmp 0x180052e86
lea rdx, [rsp + 0x20]
mov rcx, r14
call fcn.180005870
movups xmm0, xmmword [rax]
movups xmmword [0x1803ce158], xmm0
test rbp, rbp
je 0x180052e7d
lea rdx, [rsp + 0x80]
mov rcx, rbp
call fcn.180007da0
movss xmm0, dword [rax]
movss dword [0x1803ce170], xmm0
movss xmm1, dword [rax + 4]
movss dword [0x1803ce174], xmm1
xor eax, eax
mov qword [rdi + 8], rax
mov dword [rdi + 4], eax
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
lea rcx, [0x1803ce178]
call fcn.1800ccc8c
cmp dword [0x1803ce178], 0xffffffff
jne 0x180052bff
lea rcx, [0x1803ce178]
mov qword [0x1803ce170], 0
call fcn.1800ccc20
jmp 0x180052bff
lea rcx, [0x1803ce168]
call fcn.1800ccc8c
cmp dword [0x1803ce168], 0xffffffff
jne 0x180052bef
lea rcx, [0x1803ce168]
mov qword [0x1803ce160], 0
mov qword [0x1803ce158], 0
call fcn.1800ccc20
jmp 0x180052bef