Function at 0x14010f260
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rdi
push r12
push r13
push r15
sub rsp, 0x120
mov rax, qword [0x14026be10]
xor rax, rsp
mov qword [rsp + 0xf0], rax
cmp dword [rcx + 0x60], 3
mov rdi, r9
mov r13, qword [rsp + 0x170]
mov r15, rdx
mov r12, qword [rsp + 0x180]
movsxd rbx, r8d
jne 0x14010f2ce
mov eax, dword [rsp + 0x188]
mov r8d, ebx
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x178]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
call fcn.14010f060
jmp 0x14010f500
mov qword [rsp + 0x118], rbp
mov rcx, rdi
mov qword [rsp + 0x110], rsi
call fcn.1400328a0
movsxd rbp, dword [rsp + 0x178]
movsxd r8, eax
lea esi, [r8 + rbp]
lea ecx, [rsi + 0x14]
mov dword [rsp + 0x40], esi
cmp ecx, 0x80
ja 0x14010f4f0
lea eax, [rbx + 1]
mov qword [rsp + 0x108], r14
cdq
lea rcx, [rsp + 0x84]
sub eax, edx
mov rdx, rdi
sar eax, 1
movsxd r14, eax
mov rax, rbx
sub rax, r14
mov rbx, r8
add rax, r15
mov qword [rsp + 0x48], rax
call fcn.14016a920
lea rcx, [rsp + 0x84]
mov r8, rbp
add rcx, rbx
mov rdx, r13
call fcn.14016a920
lea rax, [rsp + 0x74]
mov r9d, esi
lea r8, [rsp + 0x84]
mov qword [rsp + 0x20], rax
mov edx, r14d
mov rcx, r15
call fcn.1400cdce0
movsxd rbp, dword [rsp + 0x188]
xor edi, edi
mov ebx, edi
test ebp, ebp
jle 0x14010f40f
lea edi, [rsi + 0x10]
lea esi, [rbx + 0x10]
nop dword [rax]
lea rax, [rsp + 0x50]
mov r9d, edi
lea r8, [rsp + 0x74]
mov qword [rsp + 0x20], rax
mov edx, r14d
mov rcx, r15
call fcn.1400cdce0
lea rax, [rsp + 0x74]
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rsp + 0x74]
mov qword [rsp + 0x20], rax
mov edx, r14d
mov rcx, r15
call fcn.1400cdce0
cmp esi, ebp
jle 0x14010f3e3
mov eax, ebp
and eax, 0x8000000f
jge 0x14010f3e8
dec eax
or eax, 0xfffffff0
inc eax
jmp 0x14010f3e8
mov eax, reloc.WS2_32.dll_recv
movsxd r8, eax
test eax, eax
jle 0x14010f3fd
lea rcx, [rbx + r12]
lea rdx, [rsp + 0x50]
call fcn.14016a920
add esi, 0x10
add rbx, 0x10
cmp rbx, rbp
jl 0x14010f390
mov esi, dword [rsp + 0x40]
xor edi, edi
mov r15, qword [rsp + 0x48]
lea rax, [rsp + 0x70]
mov rcx, r15
mov qword [rsp + 0x20], rax
mov r9d, esi
lea r8, [rsp + 0x84]
mov edx, r14d
call fcn.1400cdd20
test ebp, ebp
jle 0x14010f4e8
lea eax, [rsi + 0x14]
mov esi, shutdown
lea rbx, [rsp + 0x50]
mov dword [rsp + 0x40], eax
sub rbx, r12
lea rcx, [rsp + 0x50]
mov r9d, eax
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0x70]
mov rcx, r15
mov edx, r14d
call fcn.1400cdd20
lea rax, [rsp + 0x70]
mov r9d, shutdown
lea r8, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov edx, r14d
mov rcx, r15
call fcn.1400cdd20
cmp esi, ebp
jle 0x14010f4ae
mov eax, 0x66666667
mov ecx, ebp
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 2
sub ecx, eax
jmp 0x14010f4b3
mov ecx, shutdown
movsxd rdx, ecx
test ecx, ecx
jle 0x14010f4d0
lea rax, [rdi + r12]
nop
movzx ecx, byte [rbx + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x14010f4c0
mov eax, dword [rsp + 0x40]
add esi, 0x14
add rdi, 0x14
sub rbx, 0x14
cmp rdi, rbp
jl 0x14010f450
mov r14, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.140168e10
add rsp, 0x120
pop r15
pop r13
pop r12
pop rdi
pop rbx
ret