Function at 0x180007e50
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
sub rsp, 0x108
mov rax, qword [0x180060e38]
cmp qword [rax + 0x2b8], 0
je 0x180008373
mov rax, qword [0x180060f68]
mov rdx, qword [rax + 8]
cmp byte [rdx + 0x24], 0
je 0x18000834a
cmp byte [rdx + 0x25], 0
mov rcx, qword [0x180060e48]
mov qword [r11 - 8], rbx
vmovaps xmmword [r11 - 0x18], xmm6
vmovaps xmmword [r11 - 0x28], xmm7
vmovaps xmmword [r11 - 0x38], xmm8
vmovaps xmmword [r11 - 0x48], xmm9
vmovaps xmmword [r11 - 0x58], xmm10
vmovaps xmmword [r11 - 0x68], xmm11
vmovaps xmmword [r11 - 0x78], xmm12
je 0x180007ec7
and byte [rcx + 0x5c], 0xf7
mov rax, qword [rcx + 0x288]
xor ebx, ebx
vxorps xmm9, xmm9, xmm9
mov qword [rax + 0xc4], rbx
mov dword [rax + 0xcc], ebx
mov rax, qword [rcx + 0x288]
mov dword [rax + 0x198], 0x453b8000
mov rax, qword [rcx + 0x288]
mov ecx, 0x20
mov byte [rax + 0x168], 5
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180007f1b
vmovss xmm12, dword [0x1800573b8]
jmp 0x180007f41
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
vmovd xmm1, ebx
cwde
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vmovss xmm1, dword [0x180057460]
vblendvps xmm12, xmm1, xmm9, xmm2
mov rax, qword [0x180060e48]
mov rcx, qword [rax + 0x288]
vmovss xmm0, dword [rcx + 0x198]
vdivss xmm10, xmm0, dword [0x1800573dc]
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180007f76
vmulss xmm10, xmm10, dword [0x180057360]
vmovaps xmmword [rsp + 0x80], xmm13
vmovaps xmmword [rsp + 0x70], xmm14
mov ecx, 0x57
vmovaps xmmword [rsp + 0x60], xmm15
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
vmovsd xmm11, qword [0x180057348]
test ax, ax
jns 0x180008004
mov rax, qword [0x180060e38]
lea rdx, [rsp + 0x20]
mov rcx, qword [rax + 0x2b8]
call fcn.180047980
mov rbx, rax
vmovss xmm0, dword [rax + 4]
vcvtss2sd xmm0, xmm0, xmm0
vmulsd xmm1, xmm0, xmm11
vcvtsd2ss xmm6, xmm1, xmm1
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmovaps xmm8, xmm0
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmovss xmm1, dword [rbx]
vxorps xmm1, xmm1, xmmword [0x180057680]
vcvtss2sd xmm2, xmm1, xmm1
vmulsd xmm3, xmm2, xmm11
vcvtsd2ss xmm7, xmm3, xmm3
jmp 0x1800080c4
vxorps xmm0, xmm0, xmm0
mov ecx, 0x53
vmovss dword [rsp + 0x110], xmm0
vmovss dword [rsp + 0x118], xmm0
vmovss dword [rsp + 0x120], xmm0
vxorps xmm13, xmm13, xmm13
vxorps xmm14, xmm14, xmm14
vxorps xmm15, xmm15, xmm15
vxorps xmm6, xmm6, xmm6
vxorps xmm8, xmm8, xmm8
vxorps xmm7, xmm7, xmm7
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18000812a
mov rax, qword [0x180060e38]
lea rdx, [rsp + 0x20]
mov rcx, qword [rax + 0x2b8]
call fcn.180047980
lea rdx, [rsp + 0x30]
vmovss xmm7, dword [rax]
mov rax, qword [0x180060e38]
mov rcx, qword [rax + 0x2b8]
call fcn.180047980
vmovss xmm0, dword [rax + 4]
vaddss xmm0, xmm0, dword [0x1800573ec]
vcvtss2sd xmm1, xmm0, xmm0
vmulsd xmm2, xmm1, xmm11
vcvtsd2ss xmm6, xmm2, xmm2
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmovaps xmm8, xmm0
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vcvtss2sd xmm1, xmm7, xmm7
vmulsd xmm2, xmm1, xmm11
vcvtsd2ss xmm7, xmm2, xmm2
vmovaps xmm6, xmm0
vmovaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmulss xmm1, xmm0, xmm6
vmulss xmm2, xmm1, xmm10
vmulss xmm1, xmm0, xmm8
vmulss xmm3, xmm1, xmm10
vmovaps xmm0, xmm7
vaddss xmm14, xmm3, xmm9
vaddss xmm13, xmm2, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmulss xmm1, xmm0, xmm10
vsubss xmm15, xmm9, xmm1
vmovss dword [rsp + 0x120], xmm15
vmovaps xmm7, xmm15
vmovss dword [rsp + 0x118], xmm14
vmovss dword [rsp + 0x110], xmm13
vmovaps xmm8, xmm14
vmovaps xmm6, xmm13
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1800081cf
mov rax, qword [0x180060e38]
lea rdx, [rsp + 0x30]
mov rcx, qword [rax + 0x2b8]
call fcn.180047980
vmovss xmm0, dword [rax + 4]
vaddss xmm1, xmm0, dword [0x1800573dc]
vcvtss2sd xmm2, xmm1, xmm1
vmulsd xmm3, xmm2, xmm11
vcvtsd2ss xmm6, xmm3, xmm3
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmovaps xmm8, xmm0
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmovaps xmm6, xmm0
vmovss xmm0, dword [0x180057448]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmulss xmm1, xmm0, xmm6
vmulss xmm3, xmm0, xmm8
vmovss xmm0, dword [0x180057448]
vmulss xmm2, xmm1, xmm10
vmulss xmm1, xmm3, xmm10
vaddss xmm8, xmm1, xmm14
vaddss xmm6, xmm2, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmulss xmm1, xmm0, xmm10
vsubss xmm7, xmm15, xmm1
jmp 0x180008280
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180008280
mov rax, qword [0x180060e38]
lea rdx, [rsp + 0x20]
mov rcx, qword [rax + 0x2b8]
call fcn.180047980
vmovss xmm0, dword [rax + 4]
vaddss xmm0, xmm0, dword [0x1800573f8]
vcvtss2sd xmm1, xmm0, xmm0
vmulsd xmm2, xmm1, xmm11
vcvtsd2ss xmm6, xmm2, xmm2
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmovaps xmm8, xmm0
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmovaps xmm6, xmm0
vmovss xmm0, dword [0x180057448]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmulss xmm1, xmm0, xmm6
vmulss xmm3, xmm0, xmm8
vmovss xmm0, dword [0x180057448]
vmulss xmm2, xmm1, xmm10
vaddss xmm6, xmm2, dword [rsp + 0x110]
vmulss xmm1, xmm3, xmm10
vaddss xmm8, xmm1, dword [rsp + 0x118]
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmovss xmm2, dword [rsp + 0x120]
vmulss xmm1, xmm0, xmm10
vsubss xmm7, xmm2, xmm1
lea rdx, [rsp + 0x40]
call fcn.1800464f0
mov rcx, qword [0x180060e48]
lea rdx, [rsp + 0x50]
mov rbx, rax
call fcn.1800461e0
mov rcx, qword [0x180060e48]
lea rdx, [rsp + 0x20]
mov r8, rbx
vaddss xmm0, xmm9, dword [rax]
vaddss xmm1, xmm0, xmm6
vaddss xmm0, xmm9, dword [rax + 4]
vmovss dword [rsp + 0x20], xmm1
vaddss xmm1, xmm0, xmm8
vaddss xmm0, xmm12, dword [rax + 8]
vmovss dword [rsp + 0x24], xmm1
vaddss xmm1, xmm0, xmm7
vmovss dword [rsp + 0x28], xmm1
call fcn.180045880
vmovaps xmm15, xmmword [rsp + 0x60]
vmovaps xmm14, xmmword [rsp + 0x70]
vmovaps xmm13, xmmword [rsp + 0x80]
vmovaps xmm12, xmmword [rsp + 0x90]
vmovaps xmm11, xmmword [rsp + 0xa0]
vmovaps xmm10, xmmword [rsp + 0xb0]
vmovaps xmm9, xmmword [rsp + 0xc0]
vmovaps xmm8, xmmword [rsp + 0xd0]
vmovaps xmm7, xmmword [rsp + 0xe0]
vmovaps xmm6, xmmword [rsp + 0xf0]
mov rbx, qword [rsp + 0x100]
mov byte [0x180060e51], 1
add rsp, 0x108
ret
cmp byte [0x180060e51], 0
je 0x180008373
mov rax, qword [0x180060e48]
mov byte [0x180060e51], 0
or byte [rax + 0x5c], 8
mov rax, qword [rax + 0x288]
mov byte [rax + 0x168], 3
add rsp, 0x108
ret