Function at 0x180128670
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
mov eax, 0x180
call fcn.1800b9c10
sub rsp, rax
mov rax, qword [0x1802e4710]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov rax, r8
mov r13, rcx
mov r15, rdx
lea r8, [0x180253040]
lea rcx, [rbp - 0x10]
mov rdx, rax
call fcn.18019e9d0
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.18019eee0
mov r14d, reloc.WS2_32.dll_select
nop
cmp r14d, 0x12
je 0x1801286e4
xor r8d, r8d
mov rdx, r13
mov rcx, r13
call fcn.180127890
xor r12d, r12d
nop word [rax + rax]
mov eax, r12d
xor r10d, r10d
xor r9d, r9d
imul eax, eax, 0x5a
lea r8d, [rax + r14 - 1]
cmp r8d, 0x1be
jae 0x18012872b
mov ecx, r8d
mov eax, r8d
shr rcx, 5
and eax, 0x1f
mov edx, dword [rbp + rcx*4 - 0x10]
movzx ecx, al
shr edx, cl
mov ecx, r9d
and edx, 1
shl edx, cl
or r10d, edx
inc r9d
add r8d, 0x12
cmp r9d, 5
jb 0x180128701
mov esi, r10d
lea rcx, [rsp + 0x30]
xor edx, edx
sar esi, 4
mov r8d, 0xc0
dec esi
mov eax, esi
xor eax, r10d
and eax, 0xf
movsxd rdi, eax
mov eax, r12d
shl eax, 4
lea rbx, [rax + rax*2]
shl rbx, 6
add rbx, r15
call fcn.1800b45b0
lea r11, [rdi - 1]
mov r10d, reloc.WS2_32.dll_recv
nop dword [rax + rax]
mov rcx, rdi
mov rax, r11
not rcx
shr rax, 0x3f
shr rcx, 0x3f
and cl, al
neg cl
xor edx, edx
movzx r9d, cl
mov r8d, r9d
not r8d
movzx ecx, byte [rbx]
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x24], r8d
mov eax, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
inc rdx
and al, cl
inc rbx
or byte [rsp + rdx + 0x2f], al
cmp rdx, 0xc0
jb 0x1801287a1
dec rdi
dec r11
dec r10
jne 0x180128780
xor r8d, r8d
nop dword [rax]
mov ecx, dword [rsp + r8*4 + 0x30]
mov edx, dword [rsp + r8*4 + 0x70]
add r8, 4
xor edx, ecx
and edx, esi
mov eax, edx
xor eax, ecx
mov dword [rsp + r8*4 + 0x20], eax
xor dword [rsp + r8*4 + 0x60], edx
mov ecx, dword [rsp + r8*4 + 0x24]
mov eax, dword [rsp + r8*4 + 0x64]
xor eax, ecx
and eax, esi
xor ecx, eax
mov dword [rsp + r8*4 + 0x24], ecx
xor dword [rsp + r8*4 + 0x64], eax
mov ecx, dword [rsp + r8*4 + 0x28]
mov eax, dword [rsp + r8*4 + 0x68]
xor eax, ecx
and eax, esi
xor ecx, eax
mov dword [rsp + r8*4 + 0x28], ecx
xor dword [rsp + r8*4 + 0x68], eax
mov ecx, dword [rsp + r8*4 + 0x2c]
mov eax, dword [rsp + r8*4 + 0x6c]
xor eax, ecx
and eax, esi
xor ecx, eax
mov dword [rsp + r8*4 + 0x2c], ecx
xor dword [rsp + r8*4 + 0x6c], eax
cmp r8, 0x10
jb 0x1801287e0
lea r8, [rbp - 0x50]
lea rdx, [0x180252fc0]
lea rcx, [rbp + 0x30]
call fcn.180127640
mov r11d, esi
xor edx, edx
not r11d
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x24], r11d
add rdx, 4
mov eax, dword [rsp + 0x20]
mov ecx, dword [rbp + rdx + 0x2c]
and ecx, eax
mov eax, dword [rsp + 0x24]
and eax, dword [rbp + rdx - 0x54]
or ecx, eax
mov dword [rbp + rdx - 0x54], ecx
cmp rdx, 0x40
jb 0x180128870
cmp r14d, 0x12
jne 0x18012891c
test r12d, r12d
jne 0x18012891c
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x70]
lea rcx, [r13 + 0x40]
call fcn.18019d730
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x70]
mov rcx, r13
call fcn.180127640
lea rcx, [r13 + 0xc0]
lea rdx, [r13 + 0x40]
mov r8, r13
call fcn.18019dfb0
movaps xmm0, xmmword [0x180253000]
movups xmmword [r13 + 0x80], xmm0
movaps xmm1, xmmword [0x180253010]
movups xmmword [r13 + 0x90], xmm1
movaps xmm0, xmmword [0x180253020]
movups xmmword [r13 + 0xa0], xmm0
movaps xmm1, xmmword [0x180253030]
movups xmmword [r13 + 0xb0], xmm1
jmp 0x18012893f
cmp r12d, 4
jne 0x18012892f
cmp r14d, 1
je 0x18012892f
lea r8d, [r12 - 3]
jmp 0x180128932
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.180127e10
inc r12d
cmp r12d, 5
jb 0x1801286f0
dec r14d
jne 0x1801286d0
lea rcx, [rsp + 0x30]
mov edx, 0xc0
call fcn.1800ca7c0
lea edx, [r14 + 0x38]
lea rcx, [rbp - 0x10]
call fcn.1800ca7c0
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1800acfa0
mov rbx, qword [rsp + 0x1c8]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret