Function at 0x14005e900
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rsp + 0x70], xmm10
movaps xmmword [rsp + 0x60], xmm11
movaps xmmword [rsp + 0x50], xmm12
cmp byte [0x14011a295], 0
je 0x14005def5
cmp qword [0x14011a2a8], 0
je 0x14005def5
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
mov r15d, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov r12d, eax
mov eax, 0x88888889
imul ecx
lea ebx, [rcx + rdx]
sar ebx, 5
mov ecx, ebx
shr ecx, 0x1f
add ebx, ecx
movsd xmm0, qword [0x140076a40]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan
cvtsd2ss xmm0, xmm0
mov r14d, dword [0x14011a33c]
inc r14d
mov dword [0x14011a33c], r14d
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x140076ab0]
cvtpd2ps xmm11, xmm1
movd xmm10, ebx
cvtdq2ps xmm10, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm8, xmm10
divss xmm8, xmm0
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x77], xmm0
movd xmm1, r12d
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x7b], xmm1
xor r13d, r13d
mov esi, r13d
movsd xmm9, qword [0x140076a20]
movss xmm12, dword [0x140076a18]
nop word [rax + rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x71], xmm0
mov qword [rbp - 0x61], r13
lea eax, [rsi + r14]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
cvtps2pd xmm0, xmm7
mulsd xmm0, xmm9
cvtpd2ps xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm10
cvttss2si eax, xmm0
mov dword [rbp + 0x67], eax
lea r8, [rbp + 0x67]
xor edx, edx
lea rcx, [rbp - 0x71]
call fcn.14006cde0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm10
cvttss2si eax, xmm0
mov dword [rbp + 0x67], eax
mov rbx, qword [rbp - 0x69]
mov rdi, qword [rbp - 0x61]
cmp rbx, rdi
je 0x14005dce3
mov dword [rbx], eax
add rbx, 4
mov qword [rbp - 0x69], rbx
jmp 0x14005dcfb
lea r8, [rbp + 0x67]
mov rdx, rbx
lea rcx, [rbp - 0x71]
call fcn.14006cde0
mov rdi, qword [rbp - 0x61]
mov rbx, qword [rbp - 0x69]
addss xmm7, xmm11
cvtps2pd xmm0, xmm7
mulsd xmm0, xmm9
cvtpd2ps xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
cvttss2si eax, xmm0
mov dword [rbp + 0x67], eax
cmp rbx, rdi
je 0x14005dd31
mov dword [rbx], eax
add rbx, 4
mov qword [rbp - 0x69], rbx
jmp 0x14005dd49
lea r8, [rbp + 0x67]
mov rdx, rbx
lea rcx, [rbp - 0x71]
call fcn.14006cde0
mov rdi, qword [rbp - 0x61]
mov rbx, qword [rbp - 0x69]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm8
cvttss2si eax, xmm0
mov dword [rbp + 0x67], eax
cmp rbx, rdi
je 0x14005dd6e
mov dword [rbx], eax
add rbx, 4
mov qword [rbp - 0x69], rbx
jmp 0x14005dd82
lea r8, [rbp + 0x67]
mov rdx, rbx
lea rcx, [rbp - 0x71]
call fcn.14006cde0
mov rdi, qword [rbp - 0x61]
mov rcx, qword [0x14011a270]
mov rcx, qword [rcx + 0x40a0]
mov rcx, qword [rcx]
call fcn.140006770
mov r10, rax
cvttss2si r9, dword [0x14011a2b0]
or r9d, 0xffffff00
shl r9d, 8
cvttss2si rcx, dword [0x14011a348]
or r9d, ecx
shl r9d, 8
cvttss2si rcx, dword [0x1401191c0]
or r9d, ecx
mov rbx, qword [rbp - 0x71]
mov eax, r12d
sub eax, dword [rbx + 4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [rbx]
add eax, r15d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x6f], xmm0
movss dword [rbp + 0x73], xmm1
movss dword [rsp + 0x20], xmm12
lea r8, [rbp + 0x6f]
lea rdx, [rbp + 0x77]
mov rcx, r10
call fcn.1400241c0
mov rcx, qword [0x14011a270]
mov rcx, qword [rcx + 0x40a0]
mov rcx, qword [rcx]
call fcn.140006770
mov r10, rax
cvttss2si r9, dword [0x14011a2b0]
or r9d, 0xffffff00
shl r9d, 8
cvttss2si rcx, dword [0x14011a348]
or r9d, ecx
shl r9d, 8
cvttss2si rcx, dword [0x1401191c0]
or r9d, ecx
mov ecx, r12d
sub ecx, dword [rbx + 0xc]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov eax, dword [rbx + 8]
add eax, r15d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x7f], xmm0
movss dword [rbp + 0x83], xmm1
mov eax, r12d
sub eax, dword [rbx + 4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [rbx]
add eax, r15d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x79], xmm0
movss dword [rbp - 0x75], xmm1
movss dword [rsp + 0x20], xmm12
lea r8, [rbp + 0x7f]
lea rdx, [rbp - 0x79]
mov rcx, r10
call fcn.1400241c0
add esi, 0x5a
sub rdi, rbx
and rdi, 0xfffffffffffffffc
mov rax, rbx
cmp rdi, 0x1000
jb 0x14005dede
add rdi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005df30
mov rdx, rdi
mov rcx, rbx
call fcn.14006d744
cmp esi, 0x168
jl 0x14005dc70
lea r11, [rsp + 0xc8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rax, rsp
push rbp
lea rbp, [rsp - 0x80]
sub rsp, 0x180
cmp qword [0x14011a2a8], 0
movaps xmmword [rax - 0x38], xmm6
xorps xmm6, xmm6
movaps xmmword [rax - 0x48], xmm7
movss xmm7, dword [0x140076a18]
movaps xmmword [rax - 0x58], xmm8
movss xmm8, dword [0x140076be0]
je 0x14005ecc3
mov rdx, qword [0x14011a390]
lea rcx, [rsp + 0x38]
mov qword [rax - 0x18], rsi
xor esi, esi
mov byte [rbp + 0x98], 0
mov dword [rbp - 0x74], esi
mov eax, dword [rdx + 8]
mov dword [rbp - 0x78], eax
mov rax, qword [0x14011a360]
add rax, 0x358
mov qword [rbp - 0x60], 1
mov qword [rbp - 0x70], rax
lea rax, [rbp + 0x98]
mov qword [rbp - 0x68], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 0x92b
mov dword [rsp + 0x3c], 0x129
call qword [rdx]
mov rdx, qword [0x14011a390]
lea rcx, [rsp + 0x48]
mov dword [rsp + 0x30], esi
mov dword [rbp - 0x54], esi
mov qword [rbp - 0x40], 4
mov eax, dword [rdx + 8]
mov dword [rbp - 0x58], eax
mov rax, qword [0x14011a360]
add rax, 0xcfc
mov dword [rsp + 0x48], 0x92b
mov qword [rbp - 0x50], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x4c], 0x129
call qword [rdx]
mov rdx, qword [0x14011a390]
lea rcx, [rsp + 0x58]
mov byte [rbp + 0xa0], sil
mov dword [rbp - 0x34], esi
mov qword [rbp - 0x20], 1
mov eax, dword [rdx + 8]
mov dword [rbp - 0x38], eax
mov rax, qword [0x14011a2a8]
add rax, 0x420
mov dword [rsp + 0x58], 0x92b
mov qword [rbp - 0x30], rax
lea rax, [rbp + 0xa0]
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x5c], 0x129
call qword [rdx]
mov rdx, qword [0x14011a390]
lea rcx, [rsp + 0x68]
mov byte [rbp + 0xa8], sil
mov dword [rbp - 0x14], esi
mov qword [rbp], 1
mov eax, dword [rdx + 8]
mov dword [rbp - 0x18], eax
mov rax, qword [0x14011a2a8]
add rax, 0x8f0
mov dword [rsp + 0x68], 0x92b
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0xa8]
mov qword [rbp - 8], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x6c], 0x129
call qword [rdx]
cmp byte [0x14007e058], sil
je 0x14005eb86
movss xmm2, dword [0x14011a2b0]
lea rax, [0x14011a650]
movss xmm1, dword [0x14011a348]
lea r9, [0x14011a648]
movss xmm0, dword [0x1401191c0]
mov qword [rsp + 0x28], rax
lea rax, [0x14011a64c]
mov qword [rsp + 0x20], rax
call fcn.140003030
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov edx, dword [0x14011a5bc]
sub rax, rdx
cmp rax, 1
jb 0x14005eb39
cmp dword [0x14011a5a0], edx
je 0x14005eb2d
movss xmm0, dword [0x14011a648]
addss xmm0, xmm8
mov dword [0x14011a5a0], edx
movss dword [0x14011a648], xmm0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x14011a5bc], eax
movss xmm0, dword [0x14011a648]
comiss xmm6, xmm0
jbe 0x14005eb52
addss xmm0, xmm7
movss dword [0x14011a648], xmm0
movss xmm2, dword [0x14011a650]
lea rax, [0x14011a2b0]
movss xmm1, dword [0x14011a64c]
lea r9, [0x1401191c0]
mov qword [rsp + 0x28], rax
lea rax, [0x14011a348]
mov qword [rsp + 0x20], rax
call fcn.1400030e0
mov rdx, qword [0x14011a390]
lea rcx, [rsp + 0x78]
mov byte [rbp + 0x90], sil
mov dword [rbp + 0xc], esi
mov qword [rbp + 0x20], 1
mov eax, dword [rdx + 8]
mov dword [rbp + 8], eax
mov rax, qword [0x14011a2a8]
add rax, 0x5a00
mov dword [rsp + 0x78], 0x92b
mov qword [rbp + 0x10], rax
lea rax, [rbp + 0x90]
mov qword [rbp + 0x18], rax
lea rax, [rbp + 8]
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x7c], 0x129
call qword [rdx]
cmp byte [0x14011a3bf], sil
je 0x14005ecbb
cmp qword [0x14011a2a8], rsi
je 0x14005ecbb
cmp byte [rbp + 0x90], 1
jne 0x14005ecbb
mov rax, qword [0x14011a270]
mov qword [rsp + 0x178], rbx
mov qword [rsp + 0x168], rdi
mov rcx, qword [rax + 0x40a0]
mov rcx, qword [rcx]
call fcn.140006770
cvttss2si rcx, dword [0x14011a34c]
mov dword [rsp + 0x28], 0x63
lea rdx, [rbp + 0x90]
mov rdi, rax
mov qword [rbp + 0x90], rsi
cvttss2si rbx, dword [0x14011a368]
movss xmm0, dword [0x140076b10]
xorps xmm3, xmm3
movss xmm2, dword [0x140076bd0]
or ebx, 0x4600
shl ebx, 8
or ebx, ecx
movss dword [rsp + 0x20], xmm0
cvttss2si rcx, dword [0x1401191b8]
shl ebx, 8
or ebx, ecx
mov rcx, rax
call fcn.140023820
mov r8d, dword [rdi + 0x78]
mov r9d, ebx
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.140022d30
mov rbx, qword [rsp + 0x178]
mov dword [rdi + 0x78], esi
mov rdi, qword [rsp + 0x168]
mov rsi, qword [rsp + 0x170]
call fcn.140059150
call fcn.1400554e0
cmp byte [0x14007e05a], 0
je 0x14005eda7
movss xmm2, dword [0x14011a368]
lea rax, [0x14011a640]
movss xmm1, dword [0x14011a34c]
lea r9, [0x14011a638]
movss xmm0, dword [0x1401191b8]
mov qword [rsp + 0x28], rax
lea rax, [0x14011a63c]
mov qword [rsp + 0x20], rax
call fcn.140003030
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov edx, dword [0x14011a5b8]
sub rax, rdx
cmp rax, 1
jb 0x14005ed5a
cmp dword [0x14011a5a4], edx
je 0x14005ed4e
movss xmm0, dword [0x14011a638]
addss xmm0, xmm8
mov dword [0x14011a5a4], edx
movss dword [0x14011a638], xmm0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x14011a5b8], eax
movss xmm0, dword [0x14011a638]
comiss xmm6, xmm0
jbe 0x14005ed73
addss xmm0, xmm7
movss dword [0x14011a638], xmm0
movss xmm2, dword [0x14011a640]
lea rax, [0x14011a368]
movss xmm1, dword [0x14011a63c]
lea r9, [0x1401191b8]
mov qword [rsp + 0x28], rax
lea rax, [0x14011a34c]
mov qword [rsp + 0x20], rax
call fcn.1400030e0
call fcn.14005df40
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14005ede6
movzx eax, byte [0x14011a464]
test al, al
jne 0x14005edd0
mov byte [0x14011a464], 1
jmp 0x14005eddb
cmp al, 1
jne 0x14005eddb
mov byte [0x14011a464], 0
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x14007e059], 0
je 0x14005eec0
movss xmm2, dword [0x14011a350]
lea rax, [0x14011a670]
movss xmm1, dword [0x14011a358]
lea r9, [0x14011a668]
movss xmm0, dword [0x14007e050]
mov qword [rsp + 0x28], rax
lea rax, [0x14011a66c]
mov qword [rsp + 0x20], rax
call fcn.140003030
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov edx, dword [0x14011a5b4]
sub rax, rdx
cmp rax, 1
jb 0x14005ee73
cmp dword [0x14011a5a8], edx
je 0x14005ee67
movss xmm0, dword [0x14011a668]
addss xmm0, xmm8
mov dword [0x14011a5a8], edx
movss dword [0x14011a668], xmm0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x14011a5b4], eax
movss xmm0, dword [0x14011a668]
comiss xmm6, xmm0
jbe 0x14005ee8c
addss xmm0, xmm7
movss dword [0x14011a668], xmm0
movss xmm2, dword [0x14011a670]
lea rax, [0x14011a350]
movss xmm1, dword [0x14011a66c]
lea r9, [0x14007e050]
mov qword [rsp + 0x28], rax
lea rax, [0x14011a358]
mov qword [rsp + 0x20], rax
call fcn.1400030e0
movss xmm2, dword [0x14011a2d0]
lea rax, [0x14011a660]
movss xmm1, dword [0x14011a2a0]
lea r9, [0x14011a658]
movss xmm0, dword [0x1400a7e80]
mov qword [rsp + 0x28], rax
lea rax, [0x14011a65c]
mov qword [rsp + 0x20], rax
call fcn.140003030
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov edx, dword [0x14011a5ac]
sub rax, rdx
cmp rax, 1
jb 0x14005ef40
cmp dword [0x14011a5b0], edx
je 0x14005ef34
movss xmm0, dword [0x14011a658]
addss xmm0, xmm8
mov dword [0x14011a5b0], edx
movss dword [0x14011a658], xmm0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x14011a5ac], eax
movss xmm0, dword [0x14011a658]
comiss xmm6, xmm0
movaps xmm8, xmmword [rsp + 0x130]
jbe 0x14005ef62
addss xmm0, xmm7
movss dword [0x14011a658], xmm0
movss xmm2, dword [0x14011a660]
lea rax, [0x14011a2d0]
movss xmm1, dword [0x14011a65c]
lea r9, [0x1400a7e80]
mov qword [rsp + 0x28], rax
lea rax, [0x14011a2a0]
mov qword [rsp + 0x20], rax
call fcn.1400030e0
call fcn.14005d8a0
cmp byte [0x14011a286], 0
movaps xmm7, xmmword [rsp + 0x140]
je 0x14005f062
cmp qword [0x14011a2a8], 0
je 0x14005f062
mov eax, dword [0x14011a430]
movss xmm6, dword [0x140076b20]
cdq
sub eax, edx
mov dword [rsp + 0x28], 4
sar eax, 1
movd xmm2, eax
mov eax, dword [0x14011a428]
cdq
sub eax, edx
cvtdq2ps xmm2, xmm2
sar eax, 1
movd xmm0, eax
movaps xmm1, xmm2
subss xmm2, xmm6
cvtdq2ps xmm0, xmm0
addss xmm1, xmm6
cvttss2si ecx, xmm0
cvttss2si r9d, xmm1
mov r8d, ecx
cvttss2si edx, xmm2
call fcn.14003c090
mov eax, dword [0x14011a430]
cdq
mov dword [rsp + 0x28], 4
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [0x14011a428]
cdq
cvtdq2ps xmm0, xmm0
sub eax, edx
sar eax, 1
cvttss2si r10d, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov r9d, r10d
mov edx, r10d
movaps xmm0, xmm1
subss xmm1, xmm6
addss xmm0, xmm6
cvttss2si ecx, xmm1
cvttss2si r8d, xmm0
call fcn.14003c090
movaps xmm6, xmmword [rsp + 0x150]
add rsp, 0x180
pop rbp
jmp 0x14005db50