Function at 0x18016af60
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x160
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x180594240]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov r12, rdx
mov r15, rcx
mov qword [rbp], rcx
mov qword [rbp + 0x80], rdx
xor ebx, ebx
mov r13, qword [rdx + 0x10]
mov rcx, r13
call fcn.1803936b0
mov qword [rbp], rax
xorps xmm0, xmm0
lea r14, [rax + 8]
movdqu xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], rbx
mov edi, ebx
mov esi, ebx
test r14, r14
je 0x18016b02a
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x18016b20f
mov rcx, r14
cmp r14, 0x1000
jb 0x18016aff9
call fcn.1801022f0
jmp 0x18016affe
call fcn.1803fd0c0
mov rsi, rax
mov rbx, rax
mov qword [rbp + 0x90], rax
lea rdi, [rax + r14]
mov qword [rbp + 0xa0], rdi
mov rdx, rdi
mov rcx, rax
call fcn.18010bf90
mov qword [rbp + 0x98], rdi
jmp 0x18016b031
mov rbx, qword [rbp + 0x90]
movabs rax, 0x52f791701586a979
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x10], rax
movabs r14, 0x51e4680d8ae77718
mov qword [rbp + 0x88], r14
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x18], rax
movabs rax, 0x52f7917024c4fa2b
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x88], r14
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0xc8], rax
movdqa xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x10], xmm0
sub rdi, rsi
lea r8, [rbp + 0x10]
mov rdx, rdi
mov rcx, rsi
call fcn.180415454
lea rcx, [rsi + 4]
test rcx, rcx
jne 0x18016b0d6
call fcn.180408468
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x18016b0f6
cmp rdi, 8
jb 0x18016b0e1
mov qword [rcx], r13
jmp 0x18016b0fb
mov r8, rdi
xor edx, edx
call fcn.180436c50
call fcn.180408468
mov dword [rax], 0x22
call fcn.180403844
call fcn.180396170
mov r8, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x18016b10f
mov r8, qword [r12]
lea rcx, [rbx + 8]
mov dword [rsp + 0x20], eax
mov r9, r13
mov rdx, qword [rbp]
call fcn.180392d40
mov rsi, rax
mov rcx, rax
call fcn.1803994c0
test eax, eax
jne 0x18016b215
add rsi, 8
mov r8d, 0x2a
mov rdx, rsi
mov rcx, rbx
call fcn.180398d20
mov dword [rbp + 0x88], eax
xor r10d, r10d
mov r9d, r10d
test rsi, rsi
je 0x18016b184
mov r8d, r10d
nop
lea rdx, [r8 + rbx]
and r8d, 3
movsx eax, r9b
imul ecx, eax, 0x29
add cl, byte [rbp + r8 + 0x88]
xor byte [rdx], cl
inc r9d
mov r8d, r9d
cmp r8, rsi
jb 0x18016b160
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r10
mov qword [r15 + 0x18], r10
mov r8, rsi
mov rdx, rbx
mov rcx, r15
call fcn.180102210
nop
test rbx, rbx
je 0x18016b1d4
mov rax, rbx
cmp rdi, 0x1000
jb 0x18016b1c8
add rdi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016b209
mov rdx, rdi
mov rcx, rbx
call fcn.1803fd0fc
nop
mov rcx, r12
call fcn.1801021b0
mov rax, r15
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.1803fd0a0
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180403864
nop
call fcn.180109110
nop
movabs rax, 0x26d7f51548ad9b6d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0x34961860e5845777
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0xe8508af64cbf6c96
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0x18a6e36c3d17522b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
movabs rdx, 0x14dbf6ac3cfd1caf
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rcx, 0x1bb07b89d38773ec
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0x52f7917024c4fa2b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc0], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0xc8], rax
movabs rax, 0x8a70ef9e389f1fe5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xd0], rax
movabs rax, 0x36c387035e722652
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xd8], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0xe0], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0xe8], rax
vmovdqu ymm0, ymmword [rbp + 0xc0]
vpxor ymm1, ymm0, ymmword [rbp + 0x40]
vmovdqa ymmword [rbp + 0x40], ymm1
vmovdqa xmm2, xmmword [rbp + 0x60]
vxorps xmm2, xmm2, xmmword [rbp + 0xe0]
vmovdqa xmmword [rbp + 0x60], xmm2
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xc0]
vzeroupper
call fcn.1801661a0
lea rdx, [0x18058de28]
lea rcx, [rbp + 0xc0]
call fcn.1803ffab0
int3