Function at 0x14003d480
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0xf0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm14
movaps xmmword [rsp + 0x50], xmm15
mov rax, qword [0x1401d9080]
xor rax, rsp
mov qword [rsp + 0x40], rax
movaps xmm14, xmm2
mov ebx, dword [0x1401db0e4]
mov edi, dword [0x1401db0f8]
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14003d6d3
mov ecx, dword [reloc.WS2_32.dll_select]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003d6d3
lea rsi, reloc.WS2_32.dll_bind
mov qword [rsp + 0x28], rsi
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x14003d52c
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x1401d91dc], 0x7fffffff
jne 0x14003d54e
mov dword [0x1401d91dc], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov eax, dword [reloc.WLDAP32.dll_Ordinal_50]
mov dword [0x1401db0e0], eax
xorps xmm7, xmm7
xorps xmm11, xmm11
xorps xmm12, xmm12
xorps xmm10, xmm10
xorps xmm8, xmm8
movd xmm0, dword [reloc.WS2_32.dll_bind]
cvtdq2pd xmm0, xmm0
movd xmm15, edi
cvtdq2pd xmm15, xmm15
divsd xmm15, xmm14
mulsd xmm15, xmm0
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
divsd xmm1, xmm14
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
mov ebx, 1
movsd xmm13, qword [0x1401c6b80]
comisd xmm14, xmm13
jb 0x14003d6ca
movaps xmm2, xmm13
nop dword [rax]
nop word [rax + rax]
movaps xmm0, xmm15
divsd xmm0, xmm2
cvttsd2si eax, xmm0
divsd xmm1, xmm2
cvttsd2si edi, xmm1
movd xmm9, eax
cvtdq2pd xmm9, xmm9
movsd qword [rsp + 0x30], xmm7
lea rdx, [rsp + 0x30]
movaps xmm0, xmm9
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_modf]
addsd xmm10, xmm0
comisd xmm10, xmm13
jbe 0x14003d628
movsd qword [rsp + 0x38], xmm7
lea rdx, [rsp + 0x38]
movaps xmm0, xmm10
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_modf]
movaps xmm10, xmm0
movd xmm6, edi
cvtdq2pd xmm6, xmm6
movsd qword [rsp + 0x38], xmm7
lea rdx, [rsp + 0x38]
movaps xmm0, xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_modf]
addsd xmm8, xmm0
comisd xmm8, xmm13
jbe 0x14003d669
movsd qword [rsp + 0x30], xmm7
lea rdx, [rsp + 0x30]
movaps xmm0, xmm8
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_modf]
movaps xmm8, xmm0
movaps xmm0, xmm9
subsd xmm0, xmm11
cvttsd2si edx, xmm0
movaps xmm1, xmm6
subsd xmm1, xmm12
cvttsd2si r8d, xmm1
cmp byte [0x1401dc9b1], 0
je 0x14003d6a2
movd xmm0, r8d
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1401dc9a8]
cvttsd2si r8d, xmm0
call fcn.14003d1e0
movaps xmm11, xmm9
movaps xmm12, xmm6
inc ebx
movd xmm2, ebx
cvtdq2pd xmm2, xmm2
comisd xmm14, xmm2
movsd xmm1, qword [rsp + 0x20]
jae 0x14003d5d0
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400c1ee0
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
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 [rsp + 0x60]
movaps xmm15, xmmword [rsp + 0x50]
mov rsp, r11
pop rdi
ret