Function at 0x140002440
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xa0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm9
mov rsi, rcx
mov r15d, 4
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
xor r12d, r12d
mov eax, dword [r15 + rdi]
cmp dword [0x140118740], eax
jle 0x1400025a4
lea rcx, [0x140118740]
call fcn.1400ad118
cmp dword [0x140118740], 0xffffffff
jne 0x1400025a4
xorps xmm0, xmm0
movups xmmword [0x140118700], xmm0
movups xmmword [0x140118710], xmm0
movups xmmword [0x140118720], xmm0
movups xmmword [0x140118730], xmm0
movdqa xmm0, xmmword [0x1400c4280]
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1400c4260]
movdqu xmmword [rsp + 0x50], xmm1
mov dword [rsp + 0x60], 4
mov dword [rsp + 0x64], 5
mov dword [0x140118700], r12d
mov qword [0x140118708], r12
mov qword [0x140118710], r12
mov ecx, 0x18
call fcn.1400ad190
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140118708], rax
mov qword [0x140118718], r12
xorps xmm0, xmm0
movdqa xmmword [0x140118720], xmm0
mov qword [0x140118730], 7
mov qword [0x140118738], 8
mov dword [0x140118700], 0x3f800000
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [0x140118718]
call fcn.140003360
nop
lea rbx, [rsp + 0x40]
nop dword [rax]
mov r8, rbx
lea rdx, [rsp + 0x30]
call fcn.140003c20
add rbx, 8
lea rax, [rsp + 0x68]
cmp rbx, rax
jne 0x140002570
lea rcx, [0x1400b1f80]
call fcn.1400ad3f4
nop
lea rcx, [0x140118740]
call fcn.1400ad0ac
lea r8, [rsi + 0x834]
lea rdx, [rsp + 0x30]
call fcn.140003570
mov rcx, qword [rax]
mov r14d, dword [rcx + 0x14]
mov rcx, rsi
call fcn.140001b00
mov rbp, rax
test rax, rax
je 0x140002894
mov ebx, 1
mov ecx, dword [r15 + rdi]
cmp dword [0x14011a0f0], ecx
jle 0x140002630
lea rcx, [0x14011a0f0]
call fcn.1400ad118
cmp dword [0x14011a0f0], 0xffffffff
jne 0x140002630
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x14011a0f8], xmm0
movss dword [0x14011a0fc], xmm6
lea rcx, [0x14011a0f0]
call fcn.1400ad0ac
mov r9d, r14d
mov r8, rbp
lea rdx, [rsp + 0x20]
call fcn.140062ad0
mov eax, dword [r15 + rdi]
cmp dword [0x14011a0f0], eax
jle 0x14000269b
lea rcx, [0x14011a0f0]
call fcn.1400ad118
cmp dword [0x14011a0f0], 0xffffffff
jne 0x14000269b
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x14011a0f8], xmm0
movss dword [0x14011a0fc], xmm6
lea rcx, [0x14011a0f0]
call fcn.1400ad0ac
movsd xmm9, qword [rsp + 0x20]
movsd qword [rsp + 0x30], xmm9
mov ebp, dword [rsp + 0x28]
mov dword [rsp + 0x38], ebp
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0xd8]
call fcn.140062c10
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x1400c3e88]
movss xmm0, dword [rsp + 0xdc]
subss xmm0, xmm1
movss xmm6, dword [0x1400c3f14]
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm7, xmm0
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x1400c3e88]
movss xmm0, dword [rsp + 0xd8]
subss xmm0, xmm2
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
addss xmm1, xmm7
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14000273e
xorps xmm6, xmm6
sqrtss xmm6, xmm1
jmp 0x140002749
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
mov eax, dword [rsi + 0x838]
test eax, eax
jne 0x14000275a
mov ebx, 2
jmp 0x1400027aa
cmp eax, ebx
je 0x1400027aa
cmp eax, 2
jne 0x14000276a
mov ebx, 4
jmp 0x1400027aa
cmp eax, 3
jne 0x140002776
mov ebx, 5
jmp 0x1400027aa
cmp eax, 4
jne 0x140002782
mov ebx, 6
jmp 0x1400027aa
cmp eax, 5
jne 0x14000278e
mov ebx, 9
jmp 0x1400027aa
cmp eax, 6
jne 0x14000279a
mov ebx, reloc.WS2_32.dll_recv
jmp 0x1400027aa
mov ebx, 0x45
mov ecx, setsockopt
cmp eax, 7
cmove ebx, ecx
mov eax, dword [0x140119be8]
cmp eax, dword [r15 + rdi]
jle 0x140002808
lea rcx, [0x140119be8]
call fcn.1400ad118
mov eax, dword [0x140119be8]
cmp eax, 0xffffffff
jne 0x140002808
mov dword [0x140119bcc], 0x72
mov dword [0x140119bd0], 0x2d
mov dword [0x140119bd4], 0x42c80000
mov qword [0x140119bd8], 0x43480000
lea rcx, [0x140119be8]
call fcn.1400ad0ac
mov eax, dword [0x140119be8]
mov dword [0x140119be0], ebx
cmp eax, dword [r15 + rdi]
jle 0x14000285e
lea rcx, [0x140119be8]
call fcn.1400ad118
cmp dword [0x140119be8], 0xffffffff
jne 0x14000285e
mov dword [0x140119bcc], 0x72
mov dword [0x140119bd0], 0x2d
mov dword [0x140119bd4], 0x42c80000
mov qword [0x140119bd8], 0x43480000
lea rcx, [0x140119be8]
call fcn.1400ad0ac
mov ecx, dword [0x140119be0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140002894
movd xmm0, dword [rsi + 8]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm6
jbe 0x140002894
movsd qword [rsp + 0x30], xmm9
mov dword [rsp + 0x38], ebp
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.1400021c0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret