Function at 0x1800274e0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
sub rsp, 0x40
movss xmm0, dword [0x1803e6734]
movaps xmmword [rsp + 0x20], xmm7
xorps xmm7, xmm7
ucomiss xmm0, xmm7
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], r14
mov r14d, 4
jne 0x180027559
call fcn.1800158e0
mov rbx, rax
test rax, rax
jne 0x180027522
xorps xmm0, xmm0
jmp 0x180027551
mov ecx, dword [0x1803e63c0]
mov rax, qword gs:[0x58]
mov rax, qword [rax + rcx*8]
mov eax, dword [r14 + rax]
cmp dword [0x18041c920], eax
jg 0x1800277a2
mov rax, qword [0x18041c788]
movss xmm0, dword [rax + rbx]
movss dword [0x1803e6734], xmm0
call fcn.1800158e0
mov rcx, qword [0x1803e6578]
xor edi, edi
add rcx, 0x2f88808
movabs rbp, 0x7fffffff0000
cmp rcx, 0x40000
jbe 0x1800275ab
lea rax, [rcx + 8]
cmp rax, rbp
jae 0x1800275ab
mov rbx, qword [rcx]
add rbx, 0xb8
cmp rbx, 0x40000
jbe 0x1800275ab
lea rax, [rbx + 8]
cmp rax, rbp
jae 0x1800275ab
mov rbx, qword [rbx]
jmp 0x1800275ae
mov rbx, rdi
cmp byte [0x1803e6621], dil
je 0x1800275e6
mov ecx, dword [0x1803e66c8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800275e6
lea rcx, [rbx + 0x18]
cmp rcx, 0x40000
jbe 0x180027608
lea rax, [rcx + 4]
cmp rax, rbp
jae 0x180027608
mov dword [rcx], 0x41200000
jmp 0x180027608
lea rcx, [rbx + 0x18]
cmp rcx, 0x40000
jbe 0x180027608
lea rax, [rcx + 4]
cmp rax, rbp
jae 0x180027608
movss xmm0, dword [0x1802952c8]
movss dword [rcx], xmm0
cmp byte [0x1803e6680], dil
mov rbx, qword [rsp + 0x50]
je 0x180027648
mov rax, qword [0x1803e6578]
add rax, 0x2522020
call rax
movss xmm1, dword [0x1802952d4]
mov rcx, rax
mov rdx, qword [0x1803e6578]
mulss xmm1, dword [0x18027e7e4]
add rdx, 0x25227a0
call rdx
cmp byte [0x1803e669b], dil
je 0x18002768f
call fcn.1800158e0
lea rcx, [rax + 0x6e8]
cmp rcx, 0x40000
jbe 0x18002768f
lea rax, [rcx + 4]
cmp rax, rbp
jae 0x180027676
mov edx, dword [rcx]
or edx, 4
jmp 0x18002768d
cmp rcx, 0x40000
jbe 0x18002768f
lea rax, [rcx + 4]
mov edx, 4
cmp rax, rbp
jae 0x18002768f
mov dword [rcx], edx
cmp byte [0x1803e6673], dil
je 0x1800276d7
call fcn.1800158e0
lea rcx, [rax + 0x6e8]
cmp rcx, 0x40000
jbe 0x1800276d7
lea rax, [rcx + 4]
cmp rax, rbp
jae 0x1800276ba
mov edx, dword [rcx]
jmp 0x1800276ce
cmp rcx, 0x40000
jbe 0x1800276d7
lea rax, [rcx + 4]
mov edx, edi
cmp rax, rbp
jae 0x1800276d7
cmp edx, 4
sete dil
mov dword [rcx], edi
cmp byte [0x1803e6684], 0
mov rdi, qword [rsp + 0x58]
je 0x18002772c
mov ecx, dword [0x1803e63c0]
mov rax, qword gs:[0x58]
movaps xmmword [rsp + 0x30], xmm6
movss xmm6, dword [0x1802952b4]
mov rax, qword [rax + rcx*8]
mov eax, dword [r14 + rax]
cmp dword [0x18041cfa0], eax
jg 0x1800277dd
mov rax, qword [0x18041c6d8]
mov rcx, qword [rax + 0xb8]
movss dword [rcx], xmm6
movaps xmm6, xmmword [rsp + 0x30]
cmp byte [0x1803e66ae], 0
mov r14, qword [rsp + 0x60]
je 0x180027797
mov ecx, dword [0x1803e66e4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180027797
call fcn.1800158e0
add rax, 0x6f0
cmp rax, 0x40000
jbe 0x180027797
lea rcx, [rax + 8]
cmp rcx, rbp
jae 0x180027797
mov rcx, qword [rax]
movss xmm1, dword [0x18027ebd8]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180027797
lea rax, [rcx + 0xc]
cmp rax, rbp
jae 0x180027797
xorps xmm0, xmm0
unpcklps xmm0, xmm1
movsd qword [rcx], xmm0
movss dword [rcx + 8], xmm7
movaps xmm7, xmmword [rsp + 0x20]
add rsp, 0x40
pop rbp
ret
lea rcx, [0x18041c920]
call fcn.180103328
cmp dword [0x18041c920], 0xffffffff
jne 0x180027545
mov ecx, 0xc566d10
call fcn.18000f500
lea rcx, [0x18041c920]
mov qword [0x18041c788], rax
call fcn.1801032bc
jmp 0x180027545
lea rcx, [0x18041cfa0]
call fcn.180103328
cmp dword [0x18041cfa0], 0xffffffff
jne 0x180027715
mov ecx, 0x75db24b0
call fcn.18000d3f0
lea rcx, [0x18041cfa0]
mov qword [0x18041c6d8], rax
call fcn.1801032bc
jmp 0x180027715