Function at 0x14001ef80
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x460
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 [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1401200c0]
xor rax, rsp
mov qword [rsp + 0x3b0], rax
movzx r12d, dl
mov r15, rcx
xor r13d, r13d
mov qword [rcx], r13
mov dword [rcx + 8], r13d
lea ecx, [r13 + 1]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm15, eax
cvtdq2ps xmm15, xmm15
mulss xmm15, dword [0x140109ffc]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm14, eax
cvtdq2ps xmm14, xmm14
mulss xmm14, dword [0x140109ffc]
movss dword [rsp + 0x78], xmm14
movss dword [rsp + 0x7c], xmm15
movss xmm10, dword [0x14010a15c]
movss dword [rsp + 0x40], xmm10
mov rax, qword [0x14032fdd8]
movss xmm12, dword [rax + 0x28]
xorps xmm11, xmm11
ucomiss xmm12, xmm11
jp 0x14001f06e
jne 0x14001f06e
movaps xmm12, xmm10
movsxd rax, dword [0x14032e498]
cmp eax, 0xffffffff
jne 0x14001f6f6
mov r8, qword [0x14032fdf8]
mov rcx, r8
sub rcx, qword [0x14032fdf0]
movabs r10, 0xe38e38e38e38e39
mov rax, r10
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14001faaa
mov r14d, r13d
mov dword [rsp + 0x64], r13d
movss xmm13, dword [0x14010a070]
movabs rbx, 0x2e000000000013b
movsxd r9, r14d
mov rcx, qword [0x14032fdf0]
sub r8, rcx
mov rax, r10
imul r8
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jae 0x14001faaa
lea rdi, [r9 + r9*8]
shl rdi, 4
movups xmm0, xmmword [rdi + rcx]
movaps xmmword [rsp + 0x320], xmm0
movups xmm1, xmmword [rdi + rcx + 0x10]
movaps xmmword [rsp + 0x330], xmm1
movups xmm0, xmmword [rdi + rcx + 0x20]
movaps xmmword [rsp + 0x340], xmm0
movups xmm1, xmmword [rdi + rcx + 0x30]
movaps xmmword [rsp + 0x350], xmm1
movups xmm0, xmmword [rdi + rcx + 0x40]
movaps xmmword [rsp + 0x360], xmm0
movups xmm1, xmmword [rdi + rcx + 0x50]
movaps xmmword [rsp + 0x370], xmm1
movups xmm0, xmmword [rdi + rcx + 0x60]
movaps xmmword [rsp + 0x380], xmm0
movups xmm1, xmmword [rdi + rcx + 0x70]
movaps xmmword [rsp + 0x390], xmm1
movups xmm0, xmmword [rdi + rcx + 0x80]
movaps xmmword [rsp + 0x3a0], xmm0
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x320]
call fcn.1400040f0
movsxd rax, r14d
lea rsi, [rax + rax*8]
shl rsi, 4
mov rcx, qword [0x14032fdf0]
add rcx, rsi
cmp qword [0x14032e760], rbx
jne 0x14001f2a4
lea rdx, [rsp + 0x80]
call fcn.1400040f0
movss xmm0, dword [rax + 4]
comiss xmm0, xmm11
jbe 0x14001f208
mov rcx, qword [0x14032fdf0]
add rcx, rdi
mov rax, qword [0x14032e700]
cmp qword [rcx], rax
je 0x14001f208
call fcn.140004230
test al, al
je 0x14001f208
mov rcx, qword [0x14032fdf0]
add rcx, rdi
call fcn.140004370
movzx ebx, al
lea rcx, [0x14032e700]
call fcn.140004370
cmp bl, al
je 0x14001f337
mov eax, r13d
test eax, eax
je 0x14001f6ce
mov qword [rsp + 0x2e0], r13
mov dword [rsp + 0x2e8], r13d
mov qword [rsp + 0x2f0], r13
mov dword [rsp + 0x2f8], r13d
mov rcx, qword [0x14032fdd8]
mov ecx, dword [rcx + 0x58]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14001f341
mov rcx, qword [0x14032fdf0]
add rcx, rsi
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, [rsp + 0xa0]
call fcn.1400046a0
movsd xmm8, qword [rax]
movsd qword [rsp + 0x2e0], xmm8
mov ebx, dword [rax + 8]
mov dword [rsp + 0x2e8], ebx
mov rcx, qword [0x14032fdf0]
add rcx, rsi
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, [rsp + 0x90]
call fcn.1400046a0
jmp 0x14001f396
lea rdx, [rsp + 0x300]
call fcn.1400040f0
movss xmm0, dword [rax + 4]
comiss xmm0, xmm11
jbe 0x14001f208
mov rcx, qword [0x14032fdf0]
add rcx, rdi
mov rax, qword [0x14032e700]
cmp qword [rcx], rax
je 0x14001f208
call fcn.140004370
cmp al, 0x28
je 0x14001f309
mov rcx, qword [0x14032fdf0]
add rcx, rdi
call fcn.140004370
movzx ebx, al
lea rcx, [0x14032e700]
call fcn.140004370
cmp bl, al
je 0x14001f208
mov rcx, qword [0x14032fdf0]
add rcx, rdi
call fcn.140004230
test al, al
je 0x14001f208
mov rcx, qword [0x14032fdf0]
add rcx, rdi
call fcn.140005430
test al, al
je 0x14001f208
mov eax, 1
jmp 0x14001f20b
mov rax, qword [0x14032fdd8]
mov dword [rax + 0x60], 4
mov rcx, qword [0x14032fdf0]
add rcx, rsi
lea rdx, [rsp + 0x120]
call fcn.140004b60
movsd xmm8, qword [rax]
movsd qword [rsp + 0x2e0], xmm8
mov ebx, dword [rax + 8]
mov dword [rsp + 0x2e8], ebx
mov rcx, qword [0x14032fdf0]
add rcx, rsi
lea rdx, [rsp + 0x12c]
call fcn.140004b60
mov esi, dword [rax + 8]
movsd xmm9, qword [rax]
mov dword [rsp + 0x2f8], esi
movsd qword [rsp + 0x2f0], xmm9
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x320]
call fcn.140004ec0
mov r8d, dword [rax]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x320]
call fcn.1400046a0
lea rcx, [rsp + 0x260]
call fcn.140003f40
lea rdx, [rsp + 0x138]
mov rcx, rax
call fcn.1400033b0
movss xmm7, dword [rax + 8]
lea rcx, [rsp + 0x1e0]
call fcn.140003f40
lea rdx, [rsp + 0x144]
mov rcx, rax
call fcn.1400033b0
movss xmm6, dword [rax + 4]
lea rcx, [rsp + 0x160]
call fcn.140003f40
lea rdx, [rsp + 0x150]
mov rcx, rax
call fcn.1400033b0
movss xmm3, dword [rax]
movss dword [rsp + 0xb0], xmm3
movss dword [rsp + 0xb4], xmm6
movss dword [rsp + 0xb8], xmm7
movsd xmm0, qword [rsp + 0x48]
movsd qword [rsp + 0x110], xmm0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x118], eax
movd xmm2, eax
subss xmm2, xmm7
movss xmm1, dword [rsp + 0x4c]
subss xmm1, xmm6
movss xmm0, dword [rsp + 0x48]
subss xmm0, xmm3
movss dword [rsp + 0xbc], xmm0
movss dword [rsp + 0xc0], xmm1
movss dword [rsp + 0xc4], xmm2
mov rax, qword [0x14032fdf0]
mov rdx, qword [rdi + rax + 0x20]
add rdx, 0x50
mov qword [rsp + 0x310], r13
mov dword [rsp + 0x318], r13d
mov qword [rsp + 0x20], r13
mov r9d, recv
lea r8, [rsp + 0x310]
mov rcx, qword [0x14032fde0]
mov rcx, qword [rcx + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test r12b, r12b
je 0x14001f60a
lea rcx, [rsp + 0x160]
call fcn.140003f40
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.1400033b0
movd xmm1, ebx
subss xmm1, dword [rax + 8]
movss xmm0, dword [rsp + 0x2e4]
subss xmm0, dword [rax + 4]
movss xmm2, dword [rsp + 0x2e0]
subss xmm2, dword [rax]
movss dword [rsp + 0xc8], xmm2
movss dword [rsp + 0xcc], xmm0
movss dword [rsp + 0xd0], xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14001f575
xorps xmm3, xmm3
sqrtss xmm3, xmm2
jmp 0x14001f580
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm3, xmm0
mov rax, qword [0x14032fdd8]
movss xmm1, dword [rax + 0x40]
movsd xmm0, qword [rsp + 0x310]
movsd qword [rsp + 0xe0], xmm0
mov eax, dword [rsp + 0x318]
mov dword [rsp + 0xe8], eax
movss dword [rsp + 0x20], xmm1
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0x2e0]
call fcn.14006dc20
mov ebx, dword [rsp + 0x2e8]
movsd xmm8, qword [rsp + 0x2e0]
test r12b, r12b
je 0x14001f60a
lea rcx, [rsp + 0x160]
call fcn.140003f40
movsd qword [rsp + 0xf0], xmm8
mov dword [rsp + 0xf8], ebx
lea r8, [rsp + 0xf0]
lea rdx, [rsp + 0x68]
jmp 0x14001f635
lea rcx, [rsp + 0x1e0]
call fcn.140003f40
movsd qword [rsp + 0x100], xmm9
mov dword [rsp + 0x108], esi
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.140003790
movss xmm0, dword [rax]
movss xmm6, dword [rax + 4]
subss xmm0, xmm14
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm7, xmm0
subss xmm6, xmm15
movaps xmm1, xmm13
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm7, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm7
ja 0x14001f67d
xorps xmm1, xmm1
sqrtss xmm1, xmm7
jmp 0x14001f688
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm0
comiss xmm10, xmm1
jb 0x14001f6ce
comiss xmm12, xmm1
jb 0x14001f6ce
lea rax, [rsp + 0x2e0]
lea rcx, [rsp + 0x2f0]
test r12b, r12b
cmove rax, rcx
movsd xmm0, qword [rax]
movsd qword [r15], xmm0
mov eax, dword [rax + 8]
mov dword [r15 + 8], eax
movaps xmm10, xmm1
movss dword [rsp + 0x40], xmm1
mov dword [0x14032e498], r14d
jmp 0x14001f6d8
mov dword [0x14032e498], 0xffffffff
inc r14d
mov dword [rsp + 0x64], r14d
mov r8, qword [0x14032fdf8]
movabs r10, 0xe38e38e38e38e39
jmp 0x14001f0c4
lea rcx, [rax + rax*8]
shl rcx, 4
add rcx, qword [0x14032fdf0]
lea rdx, [rsp + 0x30]
call fcn.1400040f0
movss xmm0, dword [rax + 4]
comiss xmm0, xmm11
jbe 0x14001faa0
movsxd rax, dword [0x14032e498]
lea rcx, [rax + rax*8]
shl rcx, 4
add rcx, qword [0x14032fdf0]
call fcn.140004370
cmp al, 0x28
je 0x14001f76f
movsxd rax, dword [0x14032e498]
lea rcx, [rax + rax*8]
shl rcx, 4
add rcx, qword [0x14032fdf0]
call fcn.140004370
movzx ebx, al
lea rcx, [0x14032e700]
call fcn.140004370
cmp bl, al
je 0x14001faa0
movsxd rax, dword [0x14032e498]
lea rcx, [rax + rax*8]
shl rcx, 4
add rcx, qword [0x14032fdf0]
call fcn.140004230
test al, al
je 0x14001faa0
movsxd rax, dword [0x14032e498]
lea rcx, [rax + rax*8]
shl rcx, 4
add rcx, qword [0x14032fdf0]
call fcn.140005430
test al, al
je 0x14001faa0
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x50], r13d
mov rcx, qword [0x14032fdd8]
mov ecx, dword [rcx + 0x58]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
lea rdx, [rsp + 0x58]
test ax, ax
movsxd rax, dword [0x14032e498]
lea rcx, [rax + rax*8]
je 0x14001f838
shl rcx, 4
add rcx, qword [0x14032fdf0]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.1400046a0
movsd xmm6, qword [rax]
movsd qword [rsp + 0x30], xmm6
mov ebx, dword [rax + 8]
mov dword [rsp + 0x38], ebx
movsxd rax, dword [0x14032e498]
lea rcx, [rax + rax*8]
shl rcx, 4
add rcx, qword [0x14032fdf0]
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, [rsp + 0x58]
call fcn.1400046a0
jmp 0x14001f879
shl rcx, 4
add rcx, qword [0x14032fdf0]
call fcn.140004b60
movsd xmm6, qword [rax]
movsd qword [rsp + 0x30], xmm6
mov ebx, dword [rax + 8]
mov dword [rsp + 0x38], ebx
movsxd rax, dword [0x14032e498]
lea rcx, [rax + rax*8]
shl rcx, 4
add rcx, qword [0x14032fdf0]
lea rdx, [rsp + 0x58]
call fcn.140004b60
mov edi, dword [rax + 8]
movsd xmm7, qword [rax]
movsxd rax, dword [0x14032e498]
lea rcx, [rax + rax*8]
shl rcx, 4
add rcx, qword [0x14032fdf0]
mov rdx, qword [rcx + 0x20]
add rdx, 0x50
mov qword [rsp + 0x300], r13
mov dword [rsp + 0x308], r13d
mov qword [rsp + 0x20], r13
mov r9d, recv
lea r8, [rsp + 0x300]
mov rcx, qword [0x14032fde0]
mov rcx, qword [rcx + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test r12b, r12b
je 0x14001f9d4
lea rcx, [rsp + 0x160]
call fcn.140003f40
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.1400033b0
movd xmm1, ebx
subss xmm1, dword [rax + 8]
movss xmm0, dword [rsp + 0x34]
subss xmm0, dword [rax + 4]
movss xmm2, dword [rsp + 0x30]
subss xmm2, dword [rax]
movss dword [rsp + 0x68], xmm2
movss dword [rsp + 0x6c], xmm0
movss dword [rsp + 0x70], xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14001f94a
xorps xmm3, xmm3
sqrtss xmm3, xmm2
jmp 0x14001f955
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm3, xmm0
mov rax, qword [0x14032fdd8]
movss xmm1, dword [rax + 0x40]
movsd xmm0, qword [rsp + 0x300]
movsd qword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x308]
mov dword [rsp + 0x88], eax
movss dword [rsp + 0x20], xmm1
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x30]
call fcn.14006dc20
mov ebx, dword [rsp + 0x38]
movsd xmm6, qword [rsp + 0x30]
test r12b, r12b
je 0x14001f9d4
lea rcx, [rsp + 0x160]
call fcn.140003f40
movsd qword [rsp + 0x90], xmm6
mov dword [rsp + 0x98], ebx
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x30]
jmp 0x14001f9fe
lea rcx, [rsp + 0x1e0]
call fcn.140003f40
movsd qword [rsp + 0xa0], xmm7
mov dword [rsp + 0xa8], edi
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x68]
mov rcx, rax
call fcn.140003790
movss xmm7, dword [rax]
movss xmm0, dword [rax + 4]
subss xmm0, xmm15
movss xmm6, dword [0x14010a070]
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm8, xmm0
subss xmm7, xmm14
movaps xmm1, xmm6
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm8, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm8
ja 0x14001fa50
xorps xmm6, xmm6
sqrtss xmm6, xmm8
jmp 0x14001fa5c
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
comiss xmm10, xmm6
jb 0x14001faa0
comiss xmm12, xmm6
jb 0x14001faa0
movsxd rax, dword [0x14032e498]
lea rcx, [rax + rax*8]
shl rcx, 4
add rcx, qword [0x14032fdf0]
lea rdx, [rsp + 0x58]
call fcn.140004b60
movsd xmm0, qword [rax]
movsd qword [r15], xmm0
mov eax, dword [rax + 8]
mov dword [r15 + 8], eax
movss dword [rsp + 0x40], xmm6
jmp 0x14001faaa
mov dword [0x14032e498], 0xffffffff
mov rax, r15
jmp 0x14001faaf
mov rcx, qword [rsp + 0x3b0]
xor rcx, rsp
call fcn.1400cf470
lea r11, [rsp + 0x460]
mov rbx, qword [r11 + 0x38]
mov rsi, 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]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret