Function at 0x1400c0fe0
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 r12
push r14
push r15
sub rsp, 0x150
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x14037f670]
xor rax, rsp
mov qword [rsp + 0xa8], rax
cmp dword [0x1403802f4], 0
je 0x1400c13f4
call fcn.1400be880
call fcn.1400bfc10
call fcn.1400be5b0
nop
movsxd rax, dword [0x1403802f4]
imul rdi, rax, 0x58
lea rax, [0x140389de0]
add rdi, rax
movss xmm0, dword [rdi]
movss dword [rsp + 0x30], xmm0
movss xmm1, dword [rdi + 4]
movss dword [rsp + 0x34], xmm1
lea rdx, [rdi + 8]
lea rcx, [rsp + 0x38]
call fcn.14007afa0
nop
xor r14d, r14d
mov qword [rsp + 0x58], r14
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov r12, qword [rdi + 0x28]
mov r15, qword [rdi + 0x30]
cmp r12, r15
je 0x1400c10f4
sub r15, r12
mov rsi, r15
sar rsi, 4
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.1400c21f0
mov rbx, qword [rsp + 0x58]
mov r8, r15
mov rdx, r12
mov rcx, rbx
call fcn.1402645e0
shl rsi, 4
add rsi, rbx
mov qword [rsp + 0x60], rsi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], r14
mov r15, qword [rdi + 0x40]
mov rdi, qword [rdi + 0x48]
cmp r15, rdi
je 0x1400c1145
sub rdi, r15
mov rsi, rdi
sar rsi, 3
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.1400c2160
mov rbx, qword [rsp + 0x70]
mov r8, rdi
mov rdx, r15
mov rcx, rbx
call fcn.1402645e0
lea rax, [rbx + rsi*8]
mov qword [rsp + 0x78], rax
movsxd rax, dword [0x1403802f8]
lea rcx, [0x140000000]
movsd xmm6, qword [rcx + rax*8 + 0x34b1d8]
cvtpd2ps xmm6, xmm6
movss dword [rsp + 0x20], xmm6
movsxd rax, dword [0x1403802fc]
add rax, rax
movsd xmm13, qword [rcx + rax*8 + 0x34b870]
movsd xmm15, qword [rcx + rax*8 + 0x34b878]
movsd xmm14, qword [0x14034e960]
movsd xmm11, qword [0x14034e918]
movsd xmm12, qword [0x14034e910]
movsd xmm7, qword [0x14034e928]
nop word [rax + rax]
mov rax, qword [rsp + 0x60]
sub rax, qword [rsp + 0x58]
sar rax, 4
movsxd rbx, r14d
cmp rbx, rax
jae 0x1400c13e9
mov ecx, dword [reloc.WS2_32.dll_accept]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne dil
mov ecx, dword [reloc.WS2_32.dll_bind]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne sil
mov ecx, dword [reloc.WS2_32.dll_recvfrom]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne r15b
cmp byte [0x1403802f0], 0
je 0x1400c13e9
test dil, dil
je 0x1400c13e9
test sil, sil
je 0x1400c13e9
movd xmm2, dword [0x140380304]
cvtdq2pd xmm2, xmm2
divsd xmm2, xmm14
movaps xmm1, xmm13
mov eax, dword [0x1403802f8]
add eax, 0xfffffffd
cmp eax, 1
ja 0x1400c125f
mov eax, dword [0x1403802fc]
cmp eax, 1
jne 0x1400c1256
movaps xmm1, xmm11
jmp 0x1400c125f
cmp eax, 3
jne 0x1400c125f
movaps xmm1, xmm12
mov rcx, rbx
add rcx, rcx
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
mulsd xmm0, xmm1
movss xmm9, dword [0x140380314]
cvtps2pd xmm9, xmm9
mulsd xmm9, xmm0
mulsd xmm9, qword [rax + rcx*8]
movss xmm10, dword [0x140380318]
cvtps2pd xmm10, xmm10
mulsd xmm10, xmm0
mulsd xmm10, qword [rax + rcx*8 + 8]
movss xmm0, dword [0x140380300]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
divsd xmm9, xmm0
divsd xmm10, xmm0
movzx edx, byte [0x140380308]
test dl, dl
je 0x1400c1379
movss xmm1, dword [0x14038030c]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm7
movss xmm8, dword [0x140380310]
cvtps2pd xmm8, xmm8
mulsd xmm8, xmm7
movaps xmm0, xmm1
addsd xmm0, xmm9
cvtpd2ps xmm7, xmm0
subsd xmm9, xmm1
cvtpd2ps xmm6, xmm9
call fcn.14027e280
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
divss xmm0, dword [0x14034e9fc]
subss xmm7, xmm6
mulss xmm0, xmm7
addss xmm0, xmm6
cvtps2pd xmm9, xmm0
movaps xmm0, xmm8
addsd xmm0, xmm10
cvtpd2ps xmm7, xmm0
subsd xmm10, xmm8
cvtpd2ps xmm6, xmm10
call fcn.14027e280
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
divss xmm0, dword [0x14034e9fc]
subss xmm7, xmm6
mulss xmm0, xmm7
addss xmm0, xmm6
cvtps2pd xmm10, xmm0
movzx edx, byte [0x140380308]
movss xmm6, dword [rsp + 0x20]
movsd xmm7, qword [0x14034e928]
movss xmm0, dword [rsp + 0x30]
test r15b, r15b
je 0x1400c138a
addss xmm0, dword [rsp + 0x34]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm15
mov ecx, dword [0x1403802f4]
lea eax, [rcx - 3]
test eax, 0xfffffffc
jne 0x1400c13ac
cmp ecx, 4
je 0x1400c13ac
movaps xmm1, xmm0
jmp 0x1400c13cb
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
sub rax, rcx
sar rax, 3
cmp rax, rbx
jbe 0x1400c145a
movsd xmm1, qword [rcx + rbx*8]
cvtpd2ps xmm3, xmm10
cvtpd2ps xmm2, xmm9
test dl, dl
je 0x1400c13dc
movaps xmm1, xmm0
call fcn.1400c71a0
inc r14d
jmp 0x1400c11b0
lea rcx, [rsp + 0x30]
call fcn.1400be4b0
nop
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140261c10
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
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 r12
ret
call fcn.1400c2140
nop
int3