Function at 0x180006330
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0xe0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rsp + 0x60], xmm13
mov rax, qword [0x180038010]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rsi, r8
mov qword [rsp + 0x40], rdx
xor ebx, ebx
inc dword [0x18003a0c0]
movss xmm1, dword [0x180038a1c]
movaps xmm6, xmm1
movss xmm8, dword [0x180032be8]
addss xmm6, xmm8
addss xmm6, dword [0x18003a0c4]
movss xmm7, dword [0x180038a18]
movss xmm0, dword [0x180032bc8]
addss xmm7, xmm0
addss xmm7, dword [0x180039fb4]
movss xmm10, dword [rsp + 0x44]
movss xmm11, dword [0x180032b50]
cmp byte [0x180039d67], bl
je 0x180006414
movss xmm7, dword [0x18003c598]
addss xmm7, dword [0x18003c5c8]
addss xmm7, xmm0
movss xmm6, dword [0x18003c59c]
mulss xmm6, xmm11
addss xmm6, dword [0x18003c5cc]
movaps xmm0, xmm10
mulss xmm0, xmm11
subss xmm6, xmm0
xorps xmm13, xmm13
cmp byte [0x180039d65], bl
je 0x180006443
movss xmm6, dword [0x180039fb0]
mov byte [0x180039d65], bl
mov dword [0x180039fb0], ebx
movaps xmm0, xmm6
subss xmm0, xmm1
movss dword [0x18003a0c4], xmm0
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm1, dword [rsp + 0x24]
cvtdq2ps xmm1, xmm1
movd xmm2, dword [rsp + 0x20]
cvtdq2ps xmm2, xmm2
movss xmm12, dword [rsp + 0x40]
comiss xmm2, xmm7
jbe 0x180006490
comiss xmm1, xmm6
jbe 0x180006490
movaps xmm0, xmm7
addss xmm0, xmm12
comiss xmm0, xmm2
jbe 0x180006490
movaps xmm0, xmm6
addss xmm0, xmm10
comiss xmm0, xmm1
jbe 0x180006490
mov dil, 1
jmp 0x180006493
xor dil, dil
movaps xmm5, xmm6
subss xmm5, dword [0x180032b64]
movaps xmm4, xmm7
subss xmm4, dword [0x180032b64]
movups xmm0, xmmword [0x1800329e0]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm2, xmm10
addss xmm2, dword [0x180032b90]
movaps xmm1, xmm12
addss xmm1, dword [0x180032b90]
lea r9, [rsp + 0x40]
movaps xmm0, xmm4
unpcklps xmm0, xmm5
movq rcx, xmm0
call fcn.180003e00
lea r9, [rsp + 0x40]
movaps xmm2, xmm10
movaps xmm1, xmm12
test dil, dil
je 0x18000651b
movups xmm0, xmmword [0x180032a20]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.180003e00
mov byte [0x180039d66], 1
jmp 0x180006538
movups xmm0, xmmword [0x1800329d0]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.180003e00
cmp byte [0x180039d67], bl
jne 0x18000655d
movaps xmm0, xmm10
addss xmm0, xmm8
movss xmm1, dword [0x18003a0c4]
addss xmm1, xmm0
movss dword [0x18003a0c4], xmm1
mov eax, dword [0x18003a0c0]
cmp dword [0x180038a30], eax
jne 0x180006686
movaps xmm1, xmm12
mulss xmm1, xmm11
addss xmm1, xmm7
movaps xmm2, xmm10
mulss xmm2, xmm11
addss xmm2, xmm6
movabs rax, 0x533cb51420920e2f
mov qword [rsp + 0x40], rax
movabs rax, 0xd34d1485d64d6d54
mov qword [rsp + 0x48], rax
movabs rax, 0x735d956753f77c7f
mov qword [rsp + 0x20], rax
movabs rax, 0xd34d1485d634083f
mov qword [rsp + 0x28], rax
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x1800329e0]
movdqa xmmword [rsp + 0x40], xmm0
lea r8, [rsp + 0x40]
unpcklps xmm1, xmm2
movq rdx, xmm1
lea rcx, [rsp + 0x20]
call fcn.180003b30
cmp byte [0x180039ea0], bl
jne 0x18000662a
cmp byte [0x180039ea1], bl
jne 0x18000662a
cmp byte [0x180039ea2], bl
jne 0x18000662a
cmp byte [0x180039ea3], bl
jne 0x18000662a
cmp byte [0x180039ea4], bl
jne 0x18000662a
mov byte [0x18003c641], bl
jmp 0x180006636
cmp byte [0x18003c641], bl
jne 0x1800067cb
mov edi, ebx
nop dword [rax + rax]
mov edx, dword [0x18003c6e0]
test edx, edx
jne 0x18000665f
call fcn.180001410
test rax, rax
mov edx, ebx
je 0x180006659
mov edx, dword [rax + 4]
mov dword [0x18003c6e0], edx
mov ecx, edi
call fcn.18000cd40
test ax, ax
je 0x180006677
mov dword [rsi], edi
mov dword [0x180038a30], 0xffffffff
inc edi
cmp edi, 0xff
jl 0x180006640
jmp 0x1800067cb
movaps xmm9, xmm10
mulss xmm9, xmm11
addss xmm9, xmm6
movaps xmm8, xmm12
mulss xmm8, xmm11
addss xmm8, xmm7
movups xmm11, xmmword [0x1800329e0]
movzx edx, byte [rsi]
lea rcx, [rsp + 0x20]
call fcn.180005f70
nop
cmp qword [rax + 0x18], 0x10
jb 0x1800066c2
mov rax, qword [rax]
movdqa xmmword [rsp + 0x40], xmm11
lea r8, [rsp + 0x40]
movaps xmm0, xmm8
unpcklps xmm0, xmm9
movq rdx, xmm0
mov rcx, rax
call fcn.180003b30
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x180006721
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000671c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000685e
call fcn.18000d660
test dil, dil
je 0x180006786
movsxd rdx, dword [0x18003a0c0]
cmp byte [0x180039ea0], 0
je 0x18000676c
lea rax, [0x180039eb0]
cmp byte [rdx + rax], 0
jne 0x1800067cb
mov byte [rdx + rax], 1
mov byte [0x18003c641], 1
mov dword [0x180038a30], edx
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
inc ebx
cmp ebx, 0xff
jl 0x180006758
jmp 0x1800067cb
cmp rdx, 0x100
jae 0x180006864
lea rax, [0x180039eb0]
mov byte [rdx + rax], 0
jmp 0x1800067cb
movsxd rcx, dword [0x18003a0c0]
cmp byte [0x180039ea0], 0
je 0x1800067b3
lea rax, [0x180039eb0]
cmp byte [rcx + rax], 0
jne 0x1800067cb
mov byte [rcx + rax], 1
mov dword [0x180038a30], 0xffffffff
jmp 0x1800067cb
cmp rcx, 0x100
jae 0x180006864
lea rax, [0x180039eb0]
mov byte [rcx + rax], 0
mov byte [0x180039d67], 0
movss dword [0x18003c5c8], xmm7
movss dword [0x18003c5cc], xmm6
movss dword [0x18003c598], xmm12
movss dword [0x18003c59c], xmm10
movss xmm0, dword [0x18003c590]
ucomiss xmm0, xmm13
jp 0x180006814
jne 0x180006814
movss dword [0x18003c590], xmm7
movss dword [0x18003c594], xmm6
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.18000cf10
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x28]
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]
mov rsp, r11
pop rdi
ret
call fcn.180016010
int3
call fcn.18000d038
int3