Function at 0x180097e50
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0xb0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
mov rax, qword [0x180117040]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rdi, rdx
mov rbx, rcx
mov rax, qword [rcx + 0x78]
cmp byte [rax], 0
jne 0x180097eb4
mov qword [rsp + 0x20], 0xfa
jmp 0x18009842d
cmp byte [0x18011a383], 0
je 0x180098080
mov rax, qword [rdx]
movss xmm8, dword [0x1800ffe78]
comiss xmm8, dword [rax + 0x5c]
ja 0x180098437
cmp byte [0x18011a382], 0
je 0x180097f03
movss xmm1, dword [rax + 0x60]
addss xmm1, dword [rax + 0x58]
andps xmm1, xmmword [0x1801002d0]
movss xmm0, dword [0x1800ffc44]
comiss xmm0, xmm1
ja 0x180098437
cmp byte [0x18011a381], 0
je 0x180097f20
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180098437
mov rax, qword [rdi]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
jle 0x180098075
cmp byte [0x18011a38c], 0
jne 0x180098424
mov edx, 0x64
xor ecx, ecx
call fcn.1800631c0
cmp dword [0x18011741c], eax
jl 0x180098069
cmp byte [0x18011a380], 0
je 0x180097fd6
mov rbx, qword [rdi]
movss xmm0, dword [rbx + 0x48]
subss xmm0, dword [0x1800ffdf0]
movss xmm9, dword [0x1800ffe20]
addss xmm0, xmm9
movss xmm6, dword [0x1800ffe34]
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movaps xmm7, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm7
jbe 0x180097f99
addss xmm7, xmm6
subss xmm7, xmm9
mulss xmm7, dword [0x1800ffd60]
divss xmm7, xmm9
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm6, xmm0
mulss xmm6, dword [rbx + 0x60]
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, dword [rbx + 0x58]
addss xmm6, xmm0
comiss xmm8, xmm6
ja 0x180098069
mov byte [0x18011a38c], 1
xor ebx, ebx
mov qword [0x1801172e8], 0x20
mov dword [0x1801172f0], ebx
mov qword [0x1801172f8], rbx
mov r8d, 0x28
lea rdx, [0x1801172e0]
mov ecx, 1
call qword [sym.imp.USER32.dll_SendInput]
mov edx, 0x46
mov ecx, 0x28
call fcn.1800631c0
movsxd rcx, eax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x20]
call fcn.180065060
mov dword [0x1801172e8], 0x20
mov qword [0x1801172ec], 2
mov qword [0x1801172f8], rbx
mov r8d, 0x28
lea rdx, [0x1801172e0]
mov ecx, 1
call qword [sym.imp.USER32.dll_SendInput]
jmp 0x180098424
mov byte [0x18011a38c], 1
jmp 0x180098437
jne 0x180098424
jmp 0x18009841d
movss xmm10, dword [0x1801002d0]
cmp byte [0x18011a382], 0
je 0x1800980b4
mov rax, qword [rdx]
movss xmm1, dword [rax + 0x60]
addss xmm1, dword [rax + 0x58]
andps xmm1, xmm10
movss xmm0, dword [0x1800ffc44]
comiss xmm0, xmm1
ja 0x180098437
cmp byte [0x18011a381], 0
je 0x1800980d1
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180098437
mov rax, qword [rdi]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
jle 0x180098415
cmp byte [0x18011a38c], 0
jne 0x180098424
mov eax, dword [0x18011a388]
cmp eax, ecx
jge 0x1800980fe
mov eax, ecx
mov dword [0x18011a388], ecx
sub eax, dword [0x18011a37c]
cmp ecx, eax
jne 0x180098424
mov edx, 0x64
xor ecx, ecx
call fcn.1800631c0
cmp eax, dword [0x180117418]
jle 0x18009812c
mov byte [0x18011a38c], 1
jmp 0x180098424
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
mov rcx, qword [rbx + 0x180]
call fcn.180072c40
nop
mov rsi, qword [rsp + 0x20]
mov rcx, rsi
call fcn.18006b160
movaps xmm9, xmm0
mov rcx, rsi
call fcn.18006b200
movaps xmm8, xmm0
xorps xmm11, xmm11
cmp byte [0x18011a380], 0
je 0x180098244
mov rax, qword [rdi]
movss xmm0, dword [rax + 0x48]
subss xmm0, dword [0x1800ffdf0]
movss xmm12, dword [0x1800ffe20]
addss xmm0, xmm12
movss xmm6, dword [0x1800ffe34]
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movaps xmm7, xmm0
comiss xmm11, xmm7
jbe 0x1800981af
addss xmm7, xmm6
subss xmm7, xmm12
mulss xmm7, dword [0x1800ffd60]
divss xmm7, xmm12
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
mulss xmm6, xmm9
addss xmm0, xmm6
movss xmm1, dword [0x1800ffe78]
comiss xmm1, xmm0
jbe 0x180098244
mov byte [0x18011a38c], 1
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x180098437
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180098437
mov rbx, qword [rsp + 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x180098437
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x180098437
movss xmm6, dword [0x180117414]
movss xmm12, dword [0x1800ffe00]
divss xmm6, xmm12
movaps xmm7, xmm6
mulss xmm7, xmm9
mulss xmm6, xmm8
andps xmm9, xmm10
xor ebx, ebx
comiss xmm9, xmm11
jbe 0x1800982d6
mov r14, qword [rsi]
mov rax, qword [r14]
mov r8, qword [rax + 0xf8]
mov rdx, qword [rsi + 0x10]
mov rcx, r14
call r8
mov r15, rax
test rax, rax
jne 0x180098296
mov ebp, ebx
jmp 0x1800982bc
mov r8, r14
mov edx, 0x11
mov rcx, r15
call fcn.180075000
mov rbp, rax
mov rax, qword [r14]
mov r9, qword [rax + 0xb8]
mov rdx, r15
mov rcx, r14
call r9
mov rax, qword [r14]
mov r9, qword [rax + 0x380]
cvtps2pd xmm3, xmm7
mov r8, rbp
mov rdx, qword [rsi + 0x10]
mov rcx, r14
call r9
andps xmm8, xmm10
comiss xmm8, xmm11
jbe 0x180098344
mov r14, qword [rsi]
mov rax, qword [r14]
mov r8, qword [rax + 0xf8]
mov rdx, qword [rsi + 0x10]
mov rcx, r14
call r8
mov r15, rax
test rax, rax
jne 0x180098304
mov rbp, rbx
jmp 0x18009832a
mov r8, r14
mov edx, 0x13
mov rcx, r15
call fcn.180075000
mov rbp, rax
mov rax, qword [r14]
mov r9, qword [rax + 0xb8]
mov rdx, r15
mov rcx, r14
call r9
mov rax, qword [r14]
mov r9, qword [rax + 0x380]
cvtps2pd xmm3, xmm6
mov r8, rbp
mov rdx, qword [rsi + 0x10]
mov rcx, r14
call r9
movss xmm0, dword [0x1800ffdfc]
movss xmm6, dword [0x180117410]
comiss xmm0, xmm6
jb 0x1800983cf
mov rax, qword [rdi]
movss xmm0, dword [rax + 0x5c]
comiss xmm0, xmm11
jbe 0x1800983cf
divss xmm6, xmm12
mulss xmm6, xmm0
mov rdi, qword [rsi]
mov rax, qword [rdi]
mov r8, qword [rax + 0xf8]
mov rdx, qword [rsi + 0x10]
mov rcx, rdi
call r8
mov rbp, rax
test rax, rax
je 0x1800983b5
mov r8, rdi
mov edx, 0x12
mov rcx, rax
call fcn.180075000
mov rbx, rax
mov rax, qword [rdi]
mov r9, qword [rax + 0xb8]
mov rdx, rbp
mov rcx, rdi
call r9
mov rax, qword [rdi]
mov r9, qword [rax + 0x380]
cvtps2pd xmm3, xmm6
mov r8, rbx
mov rdx, qword [rsi + 0x10]
mov rcx, rdi
call r9
mov byte [0x18011a38c], 1
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x180098424
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180098424
mov rbx, qword [rsp + 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x180098424
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x180098424
xor ebx, ebx
mov dword [0x18011a388], ebx
mov byte [0x18011a38c], 0
mov qword [rsp + 0x20], 1
lea rcx, [rsp + 0x20]
call fcn.180065060
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1800bbf40
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x40]
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]
mov rsp, r11
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret