Function at 0x1800126b0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x18003d040]
xor rax, rsp
mov qword [rbp - 0x40], rax
mov rdi, r8
mov qword [rsp + 0x70], rdx
inc dword [0x18003dc58]
movss xmm1, dword [0x1800406ac]
movaps xmm7, xmm1
movss xmm9, dword [0x18003752c]
addss xmm7, xmm9
addss xmm7, dword [0x18003dc5c]
movss xmm8, dword [0x1800406a8]
movss xmm0, dword [0x180037614]
addss xmm8, xmm0
addss xmm8, dword [0x18003dc54]
addss xmm8, dword [0x180037578]
movss xmm10, dword [rsp + 0x74]
movss xmm11, dword [0x180037470]
cmp byte [0x18003d94e], 0
je 0x1800127b9
movss xmm8, dword [0x180040638]
addss xmm8, dword [0x1800406d0]
addss xmm8, xmm0
movss xmm7, dword [0x18004063c]
mulss xmm7, xmm11
addss xmm7, dword [0x1800406d4]
movaps xmm0, xmm10
mulss xmm0, xmm11
subss xmm7, xmm0
xorps xmm15, xmm15
cmp byte [0x18003d913], 0
je 0x1800127ee
movss xmm7, dword [0x18003dc50]
mov byte [0x18003d913], 0
mov dword [0x18003dc50], 0
movaps xmm0, xmm7
subss xmm0, xmm1
movss dword [0x18003dc5c], xmm0
lea rcx, [rbp - 0x80]
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm1, dword [rbp - 0x7c]
cvtdq2ps xmm1, xmm1
movd xmm2, dword [rbp - 0x80]
cvtdq2ps xmm2, xmm2
movss xmm12, dword [rsp + 0x70]
comiss xmm2, xmm8
jbe 0x180012839
comiss xmm1, xmm7
jbe 0x180012839
movaps xmm0, xmm8
addss xmm0, xmm12
comiss xmm0, xmm2
jbe 0x180012839
movaps xmm0, xmm7
addss xmm0, xmm10
comiss xmm0, xmm1
jbe 0x180012839
mov bl, 1
jmp 0x18001283b
xor bl, bl
lea rsi, [0x1800309cc]
movss xmm13, dword [0x18003748c]
movss xmm14, dword [0x180037484]
cmp byte [0x18003d1d1], 0
je 0x180012930
movaps xmm6, xmm10
mulss xmm6, xmm11
addss xmm6, xmm7
movaps xmm5, xmm12
mulss xmm5, xmm11
addss xmm5, xmm8
movaps xmm4, xmm5
addss xmm4, xmm13
movaps xmm3, xmm6
addss xmm3, xmm13
movaps xmm2, xmmword [0x180037820]
mov dword [rsp + 0x78], 2
mov dword [rsp + 0x7c], 2
mov qword [rsp + 0x70], rsi
xorps xmm0, xmm0
movaps xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [0x18002f9a8]
movdqa xmmword [rbp - 0x60], xmm1
movdqa xmmword [rsp + 0x60], xmm2
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm0
lea rax, [rbp - 0x70]
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x50], 1
mov byte [rsp + 0x48], 1
mov byte [rsp + 0x40], 1
unpcklps xmm4, xmm3
movsd qword [rsp + 0x38], xmm4
lea rax, [rbp - 0x60]
mov qword [rsp + 0x30], rax
movss dword [rsp + 0x28], xmm15
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
movaps xmm0, xmm14
unpcklps xmm0, xmm14
movq r9, xmm0
movaps xmm1, xmm5
unpcklps xmm1, xmm6
movq r8, xmm1
lea rdx, [rsp + 0x70]
mov rcx, qword [0x18003d940]
call fcn.180007f40
movups xmm0, xmmword [0x18002f988]
lea r9, [rsp + 0x60]
movaps xmm2, xmm10
movaps xmm1, xmm12
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm0, xmm8
unpcklps xmm0, xmm7
movq rcx, xmm0
call fcn.18000bcd0
test bl, bl
je 0x180012966
mov byte [0x18003d94d], 1
cmp byte [0x18003d94e], 0
jne 0x18001298c
movaps xmm0, xmm10
addss xmm0, xmm9
movss xmm1, dword [0x18003dc5c]
addss xmm1, xmm0
movss dword [0x18003dc5c], xmm1
mov eax, dword [0x18003dc58]
movaps xmm6, xmm12
mulss xmm6, xmm11
addss xmm6, xmm8
cmp dword [0x18003d1c4], eax
jne 0x180012ada
movaps xmm5, xmm10
mulss xmm5, xmm11
addss xmm5, xmm7
movaps xmm4, xmm6
addss xmm4, xmm13
movaps xmm3, xmm5
addss xmm3, xmm13
movaps xmm2, xmmword [0x180037810]
mov dword [rsp + 0x78], 2
mov dword [rsp + 0x7c], 2
mov qword [rsp + 0x70], rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x18002f9a8]
movdqa xmmword [rbp - 0x60], xmm1
movdqa xmmword [rbp - 0x70], xmm2
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x50], 1
mov byte [rsp + 0x48], 1
mov byte [rsp + 0x40], 1
unpcklps xmm4, xmm3
movsd qword [rsp + 0x38], xmm4
lea rax, [rbp - 0x60]
mov qword [rsp + 0x30], rax
movss dword [rsp + 0x28], xmm15
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
movaps xmm0, xmm14
unpcklps xmm0, xmm14
movq r9, xmm0
movaps xmm1, xmm6
unpcklps xmm1, xmm5
movq r8, xmm1
lea rdx, [rsp + 0x70]
mov rcx, qword [0x18003d940]
call fcn.180007f40
cmp byte [0x18003d948], 0
jne 0x180012aa3
cmp byte [0x18003d949], 0
jne 0x180012aa3
cmp byte [0x18003d94a], 0
jne 0x180012aa3
cmp byte [0x18003d94b], 0
jne 0x180012aa3
cmp byte [0x18003d94c], 0
jne 0x180012aa3
mov byte [0x18003d912], 0
jmp 0x180012ab0
cmp byte [0x18003d912], 0
jne 0x180012d23
xor ebx, ebx
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180012acb
mov dword [rdi], ebx
mov dword [0x18003d1c4], 0xffffffff
inc ebx
cmp ebx, 0xff
jl 0x180012ab2
jmp 0x180012d23
movaps xmm9, xmm10
mulss xmm9, xmm11
addss xmm9, xmm7
movss dword [rsp + 0x70], xmm6
movss dword [rsp + 0x74], xmm9
movzx edx, byte [rdi]
lea rcx, [rbp - 0x60]
call fcn.180011fa0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x180012b0c
mov rax, qword [rax]
mov rcx, rax
call fcn.18000a350
movaps xmm0, xmmword [0x180037810]
movaps xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
movaps xmm1, xmm6
unpcklps xmm1, xmm9
movq rdx, xmm1
mov rcx, rax
call fcn.18000b5e0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x180012b78
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012b73
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180012b73
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18002c8a4
cmp byte [0x18003d1d1], 0
jne 0x180012c6c
movsd xmm6, qword [rsp + 0x70]
movzx eax, byte [0x18003dd86]
test al, al
jne 0x180012bbf
movaps xmm0, xmmword [0x180037810]
movaps xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
movq rdx, xmm6
lea rcx, [0x1800309d0]
call fcn.18000b5e0
movzx eax, byte [0x18003dd86]
cmp al, 1
jne 0x180012bec
movaps xmm0, xmmword [0x180037810]
movaps xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
movq rdx, xmm6
lea rcx, [0x1800309e8]
call fcn.18000b5e0
movzx eax, byte [0x18003dd86]
cmp al, 2
jne 0x180012c19
movaps xmm0, xmmword [0x180037810]
movaps xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
movq rdx, xmm6
lea rcx, [0x180030a00]
call fcn.18000b5e0
movzx eax, byte [0x18003dd86]
cmp al, 3
jne 0x180012c46
movaps xmm0, xmmword [0x180037810]
movaps xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
movq rdx, xmm6
lea rcx, [0x180030a10]
call fcn.18000b5e0
movzx eax, byte [0x18003dd86]
cmp al, 4
jne 0x180012c6c
movaps xmm0, xmmword [0x180037810]
movaps xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
movq rdx, xmm6
lea rcx, [0x180030a28]
call fcn.18000b5e0
test bl, bl
je 0x180012cde
movsxd rdx, dword [0x18003dc58]
cmp byte [0x18003d948], 0
je 0x180012cc4
lea rax, [0x18003db50]
cmp byte [rdx + rax], 0
jne 0x180012d23
mov byte [rdx + rax], 1
mov byte [0x18003d912], 1
mov byte [0x18003d1d1], 0
mov dword [0x18003d1c4], edx
xor ebx, ebx
nop dword [rax + rax]
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
inc ebx
cmp ebx, 0xff
jl 0x180012cb0
jmp 0x180012d23
cmp rdx, 0x100
jae 0x180012dc5
lea rax, [0x18003db50]
mov byte [rdx + rax], 0
jmp 0x180012d23
movsxd rcx, dword [0x18003dc58]
cmp byte [0x18003d948], 0
je 0x180012d0b
lea rax, [0x18003db50]
cmp byte [rcx + rax], 0
jne 0x180012d23
mov byte [rcx + rax], 1
mov dword [0x18003d1c4], 0xffffffff
jmp 0x180012d23
cmp rcx, 0x100
jae 0x180012dc5
lea rax, [0x18003db50]
mov byte [rcx + rax], 0
mov byte [0x18003d94e], 0
movss dword [0x1800406d0], xmm8
movss dword [0x1800406d4], xmm7
movss dword [0x180040638], xmm12
movss dword [0x18004063c], xmm10
movss xmm0, dword [0x180040630]
ucomiss xmm0, xmm15
jp 0x180012d6e
jne 0x180012d6e
movss dword [0x180040630], xmm8
movss dword [0x180040634], xmm7
mov rcx, qword [rbp - 0x40]
xor rcx, rsp
call fcn.18002c840
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop rdi
pop rsi
pop rbp
ret
call fcn.18002cb58
int3