Function at 0x14004b6e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x1f0
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
mov rax, qword [0x14006f040]
xor rax, rsp
mov qword [rbp + 0x90], rax
cmp byte [0x14006f0ba], 0
je 0x14004bda0
mov ecx, dword [0x14006f0d0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx r14d, ax
shr r14w, 0xf
mov ecx, dword [0x14006f0bc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14004b76f
cmp byte [0x14006fa7b], 0
je 0x14004b76f
mov r15b, 1
jmp 0x14004b772
xor r15b, r15b
mov ecx, dword [0x14006f0cc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14004b791
cmp byte [0x14006fa7c], 0
je 0x14004b791
mov r12b, 1
jmp 0x14004b794
xor r12b, r12b
test r14b, r14b
jne 0x14004b7a3
test r15b, r15b
jne 0x14004b7a3
test r12b, r12b
je 0x14004b7b5
cmp byte [0x14006f0b8], 0
je 0x14004b7e8
cmp byte [0x14006fa7e], 0
je 0x14004b7e8
cmp byte [0x14006fa7a], 0
je 0x14004bda0
xor esi, esi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 4
call qword [sym.imp.USER32.dll_mouse_event]
mov byte [0x14006fa7a], sil
jmp 0x14004bda0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x38], xmm1
xor esi, esi
mov qword [rsp + 0x48], rsi
mov r13, qword [0x14006f1b0]
mov rdi, qword [0x14006f1a8]
mov rbx, qword [rsp + 0x40]
cmp rdi, r13
je 0x14004b880
test r14b, r14b
je 0x14004b81e
cmp byte [rdi + 0x110], 1
je 0x14004b83a
test r15b, r15b
je 0x14004b82c
cmp byte [rdi + 0x111], 1
je 0x14004b83a
test r12b, r12b
je 0x14004b874
cmp byte [rdi + 0x114], 1
jne 0x14004b874
cmp rbx, qword [rsp + 0x48]
je 0x14004b85f
mov rdx, rdi
mov rcx, rbx
call fcn.14004bdf0
mov rbx, qword [rsp + 0x40]
add rbx, 0x118
mov qword [rsp + 0x40], rbx
jmp 0x14004b874
mov r8, rdi
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.14004cbc0
mov rbx, qword [rsp + 0x40]
add rdi, 0x118
cmp rdi, r13
jne 0x14004b810
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
mov qword [rsp + 0x60], rsi
mov rdi, qword [rsp + 0x38]
mov r10, qword [rsp + 0x58]
cmp rdi, rbx
je 0x14004b8f7
nop dword [rax]
movss xmm0, dword [0x14006f0c4]
comiss xmm0, dword [rdi + 0xe8]
jbe 0x14004b8eb
cmp r10, qword [rsp + 0x60]
je 0x14004b8d6
mov rdx, rdi
mov rcx, r10
call fcn.14004bdf0
mov r10, qword [rsp + 0x58]
add r10, 0x118
mov qword [rsp + 0x58], r10
jmp 0x14004b8eb
mov r8, rdi
mov rdx, r10
lea rcx, [rsp + 0x50]
call fcn.14004cbc0
mov r10, qword [rsp + 0x58]
add rdi, 0x118
cmp rdi, rbx
jne 0x14004b8a0
mov rdx, r10
mov rcx, qword [rsp + 0x50]
movabs r14, 0xea0ea0ea0ea0ea1
movzx r9d, byte [rsp + 0x30]
sub rdx, rcx
mov rax, r14
imul rdx
sar rdx, 4
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, r10
cmp byte [0x14006fa94], 0
je 0x14004b939
call fcn.14004c5b0
jmp 0x14004b93e
call fcn.14004c8a0
mov rbx, qword [rsp + 0x50]
cmp rbx, qword [rsp + 0x58]
je 0x14004bc66
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14004bdf0
cmp byte [rbp + 0x84], 1
jne 0x14004b970
movss xmm6, dword [rbp - 0x3c]
movss xmm7, dword [rbp - 0x38]
jmp 0x14004b9a1
mov eax, dword [0x14006fa90]
test eax, eax
jne 0x14004b986
movss xmm6, dword [rbp - 4]
movss xmm7, dword [rbp]
jmp 0x14004b9a1
cmp eax, 1
jne 0x14004b997
movss xmm6, dword [rbp + 0x2c]
movss xmm7, dword [rbp + 0x30]
jmp 0x14004b9a1
movss xmm6, dword [rbp + 0x14]
movss xmm7, dword [rbp + 0x18]
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x14004bc5a
cvttss2si ebx, xmm6
cvttss2si edi, xmm7
sub ebx, dword [rsp + 0x68]
sub edi, dword [rsp + 0x6c]
movss xmm0, dword [0x14006f0c4]
cmp byte [0x14006f0b9], 0
je 0x14004b9e2
cmp byte [0x14006fa7d], 0
je 0x14004b9e2
addss xmm0, xmm0
comiss xmm0, dword [rbp + 0x58]
jbe 0x14004bc32
cmp dword [0x14006f3b4], 1
jne 0x14004ba1d
cmp byte [0x14006fa7f], 0
je 0x14004ba1d
mov byte [0x14006fa7a], 1
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 2
call qword [sym.imp.USER32.dll_mouse_event]
mov eax, ebx
neg eax
cmovs eax, ebx
cmp eax, 5
jge 0x14004ba88
mov eax, edi
neg eax
cmovs eax, edi
cmp eax, 5
jge 0x14004ba88
cmp byte [rbp + 0x84], 1
jne 0x14004bc5a
cmp byte [0x14006fa7f], 0
je 0x14004bc5a
mov byte [0x14006fa7a], 1
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 2
call qword [sym.imp.USER32.dll_mouse_event]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x70]
call fcn.14004b5c0
jmp 0x14004bc8e
cmp byte [0x14006fa79], 0
je 0x14004bb76
test ebx, ebx
jne 0x14004baa1
test edi, edi
je 0x14004bc5a
mov ecx, edi
imul ecx, edi
mov eax, ebx
imul eax, ebx
add ecx, eax
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x14004bac4
sqrtpd xmm0, xmm1
jmp 0x14004bacc
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [0x14006f0c8]
movaps xmm2, xmm1
divss xmm2, xmm0
maxss xmm2, dword [0x1400658d4]
xorps xmm10, xmm10
cvtsi2ss xmm10, ebx
divss xmm10, xmm1
mulss xmm10, xmm2
xorps xmm9, xmm9
cvtsi2ss xmm9, edi
divss xmm9, xmm1
mulss xmm9, xmm2
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
xorps xmm8, xmm8
cvtsi2ss xmm8, eax
divss xmm8, dword [0x1400659a4]
subss xmm8, dword [0x140065898]
mulss xmm8, dword [0x14006f0c0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
divss xmm0, dword [0x1400659a4]
subss xmm0, dword [0x140065898]
mulss xmm0, dword [0x14006f0c0]
addss xmm0, xmm9
addss xmm8, xmm10
cvttss2si edx, xmm8
jmp 0x14004bc0e
test ebx, ebx
jne 0x14004bb82
test edi, edi
je 0x14004bc5a
mov ecx, edi
imul ecx, edi
mov eax, ebx
imul eax, ebx
add ecx, eax
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x14004bba5
sqrtpd xmm0, xmm1
jmp 0x14004bbad
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm0
movd xmm0, dword [0x14006f0c8]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x14006595c]
movss xmm1, dword [0x1400658d4]
divss xmm1, xmm0
minss xmm1, xmm3
cvttss2si ecx, xmm1
mov eax, 1
cmp ecx, eax
cmovg eax, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movd xmm2, ebx
cvtdq2ps xmm2, xmm2
divss xmm2, xmm3
mulss xmm2, xmm1
movd xmm0, edi
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
mulss xmm0, xmm1
cvttss2si edx, xmm2
cvttss2si r8d, xmm0
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov ecx, 1
call qword [sym.imp.USER32.dll_mouse_event]
lea rcx, [rsp + 0x70]
call fcn.14004b5c0
jmp 0x14004bc8e
cmp byte [0x14006fa7a], 0
je 0x14004bc5a
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 4
call qword [sym.imp.USER32.dll_mouse_event]
mov byte [0x14006fa7a], 0
lea rcx, [rsp + 0x70]
call fcn.14004b5c0
jmp 0x14004bc8e
cmp byte [0x14006fa7a], 0
je 0x14004bc93
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 4
call qword [sym.imp.USER32.dll_mouse_event]
mov byte [0x14006fa7a], 0
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x14004bd20
mov rdi, qword [rsp + 0x58]
cmp rbx, rdi
je 0x14004bcbf
mov rcx, rbx
call fcn.14004b5c0
add rbx, 0x118
cmp rbx, rdi
jne 0x14004bca6
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
sub rcx, rbx
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x118
mov rax, rbx
cmp rdx, 0x1000
jb 0x14004bd0a
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004bd0a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.14005b20c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rsi
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x14004bda0
mov rdi, qword [rsp + 0x40]
cmp rbx, rdi
je 0x14004bd4d
mov rcx, rbx
call fcn.14004b5c0
add rbx, 0x118
cmp rbx, rdi
jne 0x14004bd34
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
sub rcx, rbx
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x118
mov rax, rbx
cmp rdx, 0x1000
jb 0x14004bd98
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004bd98
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.14005b20c
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.14005b070
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, 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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret