Function at 0x14004c400
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
push rdi
push r13
lea rbp, [r11 - 0x5f]
sub rsp, 0xf0
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [rsp + 0x70], xmm13
mov rax, qword [0x140176f80]
xor rax, rsp
mov qword [rbp - 0x41], rax
mov eax, dword [0x1401ccf4c]
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], r12
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
test eax, eax
jne 0x14004c454
xor edi, edi
mov dword [0x1401cc708], edi
jmp 0x14004c4b4
cmp eax, 1
jne 0x14004c466
mov edi, 7
mov dword [0x1401cc708], edi
jmp 0x14004c4b4
cmp eax, 2
jne 0x14004c478
mov edi, 6
mov dword [0x1401cc708], edi
jmp 0x14004c4b4
cmp eax, 3
jne 0x14004c48a
mov edi, 5
mov dword [0x1401cc708], edi
jmp 0x14004c4b4
cmp eax, 4
jne 0x14004c49c
mov edi, 3
mov dword [0x1401cc708], edi
jmp 0x14004c4b4
cmp eax, 5
jne 0x14004c4ae
mov edi, 4
mov dword [0x1401cc708], edi
jmp 0x14004c4b4
mov edi, dword [0x1401cc708]
mov rdx, qword [0x1401ccf60]
lea r8, [rbp - 0x71]
mov rcx, qword [0x1401ccf70]
xor r13d, r13d
movss xmm7, dword [0x140136dd8]
add rdx, 0x18
mov r9d, 8
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp - 0x71]
lea r8, [rbp - 0x61]
mov rcx, qword [0x1401ccf70]
add rdx, 0x100
mov r9d, 8
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r12, qword [rbp - 0x61]
lea rsi, [0x1401cb6a0]
movss xmm8, dword [0x140136d88]
mov r14, r12
movsd xmm13, qword [0x140136c98]
mov r15d, 0x100
mov qword [rsp + 0x110], rbx
movaps xmmword [rsp + 0xd0], xmm6
test r12, r12
je 0x14004c673
mov rcx, qword [0x1401ccf70]
lea r8, [rbp - 0x51]
mov r9d, 8
mov qword [rsp + 0x20], 0
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rbx, qword [rbp - 0x51]
lea r8, [rbp - 0x69]
mov rcx, qword [0x1401ccf70]
mov r9d, 4
mov qword [rsp + 0x20], 0
lea rdx, [rbx + 0x10b8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test rbx, rbx
je 0x14004c673
cmp byte [0x1401ccf5d], 0
jne 0x14004c5bf
mov eax, dword [rbp - 0x69]
and eax, 0x1fc000
cmp eax, 0x8000
jne 0x14004c673
cmp rbx, qword [0x1401cbec8]
je 0x14004c673
cmp qword [rsi], rbx
je 0x14004c673
mov r8d, edi
lea rcx, [rbp - 0x71]
mov rdx, rbx
call fcn.14004aaf0
mov rcx, qword [0x1401ccf70]
lea rdx, [rbx + 0x280]
mov r9d, 4
mov qword [rsp + 0x20], 0
lea r8, [rbp - 0x65]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
comiss xmm8, dword [rbp - 0x65]
jae 0x14004c673
lea rcx, [rbp - 0x79]
call fcn.14004a840
movss xmm0, dword [rbp - 0x75]
movaps xmm1, xmm13
subss xmm0, dword [rbp - 0x6d]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movss xmm1, dword [rbp - 0x79]
movaps xmm6, xmm0
subss xmm1, dword [rbp - 0x71]
cvtps2pd xmm0, xmm1
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
ucomiss xmm1, xmm0
ja 0x14004c663
sqrtss xmm0, xmm0
jmp 0x14004c668
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm7, xmm0
jbe 0x14004c673
movaps xmm7, xmm0
mov r13, rbx
add r14, 0x10
add rsi, 8
sub r15, 1
jne 0x14004c543
mov r15, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xe8]
mov r12, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x118]
test r13, r13
je 0x14004c9a7
mov r8d, dword [0x1401cc708]
lea rcx, [rbp - 0x71]
movaps xmmword [rsp + 0xa0], xmm9
mov rdx, r13
movaps xmmword [rsp + 0x90], xmm10
movaps xmmword [rsp + 0x80], xmm11
call fcn.14004aaf0
cmp byte [0x1401ccf5c], 0
movss xmm0, dword [0x1401c17f4]
cvtps2pd xmm0, xmm0
je 0x14004c6fa
addsd xmm0, qword [0x140136c48]
jmp 0x14004c702
addsd xmm0, qword [0x140136c78]
xor ecx, ecx
cvtpd2ps xmm11, xmm0
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
mov ecx, 1
sub eax, edx
sar eax, 1
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movss xmm10, dword [rbp - 0x6d]
cdq
sub eax, edx
sar eax, 1
cvtps2pd xmm0, xmm10
mov edi, eax
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm1
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movss xmm9, dword [rbp - 0x71]
movaps xmm6, xmm0
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
cvtps2pd xmm0, xmm9
subsd xmm0, xmm1
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
ucomiss xmm1, xmm0
ja 0x14004c785
xorps xmm6, xmm6
sqrtss xmm6, xmm0
jmp 0x14004c78d
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
movss xmm4, dword [0x1401374a0]
xorps xmm2, xmm2
ucomiss xmm9, xmm2
xorps xmm8, xmm8
xorps xmm7, xmm7
jp 0x14004c7a7
je 0x14004c803
movd xmm3, ebx
cvtdq2ps xmm3, xmm3
comiss xmm9, xmm3
jbe 0x14004c7e1
movaps xmm8, xmm3
lea eax, [rbx + rbx]
subss xmm8, xmm9
movd xmm0, eax
movaps xmm1, xmm3
cvtdq2ps xmm0, xmm0
xorps xmm8, xmm4
divss xmm8, xmm11
addss xmm1, xmm8
comiss xmm1, xmm0
jbe 0x14004c7e1
xorps xmm8, xmm8
comiss xmm3, xmm9
jbe 0x14004c803
movaps xmm8, xmm9
subss xmm8, xmm3
divss xmm8, xmm11
addss xmm3, xmm8
comiss xmm2, xmm3
jbe 0x14004c803
xorps xmm8, xmm8
ucomiss xmm10, xmm2
jp 0x14004c80b
je 0x14004c860
movd xmm3, edi
cvtdq2ps xmm3, xmm3
comiss xmm10, xmm3
jbe 0x14004c841
movaps xmm7, xmm3
lea eax, [rdi + rdi]
subss xmm7, xmm10
movd xmm0, eax
movaps xmm1, xmm3
cvtdq2ps xmm0, xmm0
xorps xmm7, xmm4
divss xmm7, xmm11
addss xmm1, xmm7
comiss xmm1, xmm0
jbe 0x14004c841
xorps xmm7, xmm7
comiss xmm3, xmm10
jbe 0x14004c860
movaps xmm7, xmm10
subss xmm7, xmm3
divss xmm7, xmm11
addss xmm3, xmm7
comiss xmm2, xmm3
jbe 0x14004c860
xorps xmm7, xmm7
mov rcx, qword [0x1401ccf70]
lea rdx, [r13 + 0x90]
xor ebx, ebx
lea r8, [rbp - 0x61]
mov r9d, listen
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x1401cbec8]
lea r8, [rbp - 0x51]
mov rcx, qword [0x1401ccf70]
add rdx, 0x90
movss xmm9, dword [rbp - 0x61]
mov r9d, listen
movss xmm10, dword [rbp - 0x5d]
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [0x14019c6ac]
xorps xmm1, xmm1
movaps xmm11, xmmword [rsp + 0x80]
cvtps2pd xmm0, xmm0
cvtss2sd xmm1, xmm6
addsd xmm0, qword [0x140136c48]
comisd xmm0, xmm1
jb 0x14004c995
movss xmm0, dword [rbp - 0x4d]
movaps xmm1, xmm13
movss xmm2, dword [rbp - 0x51]
subss xmm0, xmm10
subss xmm2, xmm9
cvtps2pd xmm6, xmm0
cvtps2pd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm9, xmm0
movaps xmm1, xmm13
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm9, xmm0
movaps xmm1, xmm13
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm9, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm9
ja 0x14004c945
xorps xmm0, xmm0
sqrtsd xmm0, xmm9
jmp 0x14004c94e
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movss xmm1, dword [0x14019c6a8]
mulsd xmm0, qword [0x140136c60]
cvtps2pd xmm1, xmm1
comisd xmm1, xmm0
jb 0x14004c995
mov ecx, dword [0x1401cb69c]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x14004c995
cvttss2si r8, xmm7
xor r9d, r9d
mov ecx, 1
mov qword [rsp + 0x20], rbx
cvttss2si rdx, xmm8
call qword [sym.imp.USER32.dll_mouse_event]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xd0]
mov rbx, qword [rsp + 0x110]
mov rcx, qword [rbp - 0x41]
xor rcx, rsp
call fcn.1400fda00
lea r11, [rsp + 0xf0]
movaps xmm7, xmmword [r11 - 0x30]
movaps xmm8, xmmword [r11 - 0x40]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r13
pop rdi
pop rbp
ret