Function at 0x1400ac380
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm9
mov rax, qword [0x1401ae6f8]
xor rax, rsp
mov qword [rbp + 0xf], rax
xor ebx, ebx
mov dword [rbp - 0x59], ebx
mov dword [rbp - 0x51], ebx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 9], xmm0
mov qword [rbp + 7], rax
lea rdx, [rbp - 0x51]
lea rcx, [rbp - 9]
call fcn.1400a8270
nop
mov r8, qword [0x1401c6918]
xorps xmm9, xmm9
mov r9d, dword [rbp - 0x51]
cmp r9d, 8
ja 0x1400ac409
lea eax, [r9 + 0x27]
movss xmm0, dword [r8 + rax*4]
ucomiss xmm0, xmm9
jp 0x1400ac409
jne 0x1400ac409
xor r15b, r15b
jmp 0x1400ac40c
mov r15b, 1
mov rcx, qword [rbp - 1]
mov r10, qword [rbp - 9]
sub rcx, r10
movabs rax, 0x4924924924924925
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea ecx, [r9 + 1]
cmp rdx, rcx
jb 0x1400ac867
imul r12, r9, 0x70
lea r14, [r10 + 0x50]
add r14, r12
mov eax, dword [str.E_WK_]
mov dword [rbp - 0x59], eax
movzx eax, word [0x140190200]
mov word [rbp - 0x55], ax
mov byte [rbp - 0x59], reloc.WS2_32.dll_WSAStartup
xor byte [rbp - 0x58], 0x37
xor byte [rbp - 0x57], 0x38
xor byte [rbp - 0x56], 0x39
xor al, 0x3a
mov byte [rbp - 0x55], al
xor byte [rbp - 0x54], 0x3b
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x39], xmm1
lea rax, [rbp - 0x59]
mov rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x1400ac494
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x49]
call fcn.140016190
nop
mov esi, 1
mov dword [rbp - 0x59], esi
lea r9, [rbp - 0x49]
cmp qword [rbp - 0x31], 0x10
cmovae r9, qword [rbp - 0x49]
mov rdx, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0x10
jb 0x1400ac4d0
mov r14, qword [r14]
mov rax, qword [rbp - 0x39]
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.14007b690
mov ecx, 5
lea edx, [rcx + 0x1a]
mov r13d, dword [reloc.WS2_32.dll_accept]
cmp rax, 0xffffffffffffffff
jne 0x1400ac664
mov r14, qword [rbp - 9]
add r14, 0x50
add r14, r12
mov eax, dword [0x140190220]
mov dword [rbp - 0x51], eax
cmp byte [reloc.WS2_32.dll_gethostname], 0
je 0x1400ac5f3
cmp r13d, 2
jl 0x1400ac5ac
movdqa xmm3, xmmword [0x1401906d0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140190a20]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140190a20]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, ecx
psrad xmm2, xmm0
movd xmm0, edx
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1401907b0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1401908d0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140190920]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp - 0x51], xmm2
jmp 0x1400ac5f3
lea r9, [rbp - 0x51]
mov r8d, ebx
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x36
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1400ac5c0
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x19], xmm1
lea rax, [rbp - 0x51]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400ac610
lea rdx, [rbp - 0x51]
lea rcx, [rbp - 0x29]
call fcn.140016190
mov esi, 3
lea r9, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae r9, qword [rbp - 0x29]
mov rdx, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0x10
jb 0x1400ac648
mov r14, qword [r14]
mov rax, qword [rbp - 0x19]
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.14007b690
cmp rax, 0xffffffffffffffff
jne 0x1400ac664
xor r14b, r14b
jmp 0x1400ac667
mov r14b, 1
test sil, 2
je 0x1400ac67a
and esi, 0xfffffffd
lea rcx, [rbp - 0x29]
call fcn.14000d000
nop
test sil, 1
je 0x1400ac689
lea rcx, [rbp - 0x49]
call fcn.14000d000
mov rsi, qword [rbp - 9]
add rsi, 0x50
add rsi, r12
mov rax, qword [0x140190288]
mov qword [rbp - 0x59], rax
cmp byte [0x14019028f], 0
je 0x1400ac7f0
cmp r13d, 2
jl 0x1400ac7be
movdqa xmm4, xmmword [0x140190a20]
mov eax, 5
movd xmm6, eax
mov eax, Ordinal_33
movd xmm5, eax
movdqa xmm2, xmmword [0x1401906d0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1401907b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1401908d0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140190920]
movd xmm0, dword [rbp - 0x59]
xorps xmm2, xmm0
movd dword [rbp - 0x59], xmm2
movdqa xmm3, xmmword [0x1401906e0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1401907b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1401908d0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140190920]
movd xmm0, dword [rbp - 0x55]
xorps xmm2, xmm0
movd dword [rbp - 0x55], xmm2
jmp 0x1400ac7f0
lea r8, [rbp - 0x59]
mov eax, 0x8fb823ef
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, bl
sub al, cl
add al, 0x36
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 8
jl 0x1400ac7c2
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x39], xmm1
lea rax, [rbp - 0x59]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1400ac803
mov r8, rdi
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x49]
call fcn.140016190
lea r9, [rbp - 0x49]
cmp qword [rbp - 0x31], 0x10
cmovae r9, qword [rbp - 0x49]
mov rdx, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0x10
jb 0x1400ac838
mov rsi, qword [rsi]
mov rax, qword [rbp - 0x39]
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.14007b690
mov rbx, rax
lea rcx, [rbp - 0x49]
call fcn.14000d000
mov r8, qword [0x1401c6918]
cmp rbx, 0xffffffffffffffff
je 0x1400ac86a
xor r14b, r14b
jmp 0x1400ac86a
mov r14b, 1
test r15b, r15b
je 0x1400ac885
movss xmm0, dword [r8 + 0x8c]
ucomiss xmm0, xmm9
jp 0x1400ac880
je 0x1400ac885
test r14b, r14b
jne 0x1400ac896
movss xmm0, dword [r8 + 0x8c]
ucomiss xmm0, xmm9
jp 0x1400ac89a
jne 0x1400ac89a
mov bl, 1
jmp 0x1400ac89c
xor bl, bl
lea rcx, [rbp - 9]
call fcn.1400ab370
movzx eax, bl
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.140127920
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm9, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret