Function at 0x180274c50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rbp
push r12
push r13
push r15
mov eax, reloc.WS2_32.dll_WSASetLastError
call fcn.18014c9d0
sub rsp, rax
mov rcx, r9
mov r12, r9
mov r15, r8
mov rbx, rdx
xor ebp, ebp
call fcn.1802190e0
mov rcx, r12
call fcn.1802191d0
mov r13, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x180275049
mov rcx, r12
call fcn.1802191d0
mov qword [rsp + 0x28], rax
test rax, rax
je 0x180275049
mov rcx, r12
mov qword [rsp + 0x60], r14
call fcn.1802191d0
mov r14, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x180275044
mov rcx, r12
mov qword [rsp + 0x68], rdi
call fcn.1802191d0
mov rdi, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x18027503f
mov r8, r15
mov rdx, rbx
mov rcx, r14
call fcn.180274850
test eax, eax
je 0x18027503f
mov rcx, r14
call fcn.1801b8440
test eax, eax
jne 0x18027503f
mov rdx, r15
mov rcx, rdi
call fcn.1801b8ba0
test rax, rax
je 0x18027503f
mov rcx, r14
mov qword [rsp + 0xa8], rsi
call fcn.1801b8630
mov rcx, rdi
mov esi, eax
call fcn.1801b8630
movsxd rbx, dword [r15 + 8]
mov edx, ebx
mov rcx, r14
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], ebx
call fcn.1801b8b70
test rax, rax
je 0x180275037
movsxd rax, dword [r14 + 8]
mov rdi, qword [r14]
mov r12, rbx
cmp rax, rbx
jge 0x180274d84
mov r8, rbx
lea rcx, [rdi + rax*8]
xor edx, edx
sub r8, rax
shl r8, 3
call fcn.18014af80
mov edx, ebx
mov rcx, r13
mov dword [r14 + 8], ebx
call fcn.1801b8b70
test rax, rax
je 0x18027502f
mov r13, qword [r13]
mov eax, 1
mov qword [r13], rax
cmp rbx, rax
jle 0x180274dc0
lea r8, [rbx - 1]
lea rcx, [r13 + 8]
xor edx, edx
shl r8, 3
call fcn.18014af80
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
mov edx, ebx
mov dword [rax + 8], ebx
call fcn.1801b8b70
test rax, rax
je 0x18027502f
mov rdx, qword [rsp + 0x28]
mov rax, qword [rdx]
mov qword [rsp + 0x48], rax
test ebx, ebx
jle 0x180274e04
mov r8, rbx
xor edx, edx
mov rcx, rax
shl r8, 3
call fcn.18014af80
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov dword [rdx + 8], ebx
mov r8, qword [rcx]
mov qword [rsp + 0x38], r8
test esi, esi
je 0x180274eed
nop dword [rax]
mov r10, qword [rdi]
test r10b, 1
jne 0x180274ed6
mov r8, qword [r13]
mov rax, qword [r15]
mov r12, rbp
mov rcx, qword [rax]
mov r9, r8
lea eax, [rbx - 1]
and r9d, 1
neg r9
and rcx, r9
xor r8, rcx
test eax, eax
jle 0x180274ebf
mov r11, rdi
mov rbp, 0xfffffffffffffff8
lea rbx, [r13 + 8]
sub r11, r13
mov r14d, eax
mov r12d, eax
sub rbp, r13
nop dword [rax + rax]
mov rcx, qword [r11 + rbx]
shr r10, 1
shr r8, 1
mov rax, rcx
shl rax, 0x3f
or rax, r10
mov r10, rcx
lea rcx, [rbx + rbp]
mov qword [r11 + rbx - 8], rax
mov rax, qword [r15]
add rbx, 8
mov rdx, qword [rcx + rax + 8]
and rdx, r9
xor rdx, qword [rbx - 8]
mov rax, rdx
shl rax, 0x3f
or rax, r8
dec r14
mov r8, rdx
mov qword [rbx - 0x10], rax
jne 0x180274e70
mov ebx, dword [rsp + 0x24]
xor ebp, ebp
shr r10, 1
shr r8, 1
dec esi
mov qword [rdi + r12*8], r10
mov qword [r13 + r12*8], r8
jne 0x180274e20
mov r14, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x38]
movsxd r12, ebx
cmp esi, 0x40
jg 0x180274f08
mov rax, qword [rdi]
test rax, rax
je 0x18027502f
cmp rax, 1
je 0x180275007
mov r11d, dword [rsp + 0x20]
cmp esi, r11d
jge 0x180274f5d
mov r13, qword [rsp + 0x48]
mov eax, esi
mov esi, r11d
mov r11d, eax
mov dword [rsp + 0x20], eax
mov rax, r14
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x50], rcx
mov r14, rcx
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rdx
mov rdx, rax
mov qword [rsp + 0x28], rax
mov rax, qword [rax]
mov rdi, r8
mov r8, qword [rcx]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], r8
jmp 0x180274f62
mov rax, qword [rsp + 0x48]
test r12, r12
jle 0x180274faa
mov r9, r8
mov r10, rax
mov rdx, r13
sub r9, rdi
sub r10, rdi
mov rcx, rdi
sub rdx, rdi
mov r8, r12
nop
mov rax, qword [r9 + rcx]
add rcx, 8
xor qword [rcx - 8], rax
mov rax, qword [r10 + rcx - 8]
xor qword [rdx + rcx - 8], rax
dec r8
jne 0x180274f80
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x38]
cmp esi, r11d
jne 0x180274e14
lea eax, [rsi - 1]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
movsxd rbx, eax
mov rax, rbx
mov rcx, qword [rdi + rbx*8]
test rcx, rcx
jne 0x180274fe4
nop
test rax, rax
je 0x180274fe4
mov rcx, qword [rdi + rax*8 - 8]
dec rax
dec ebx
test rcx, rcx
je 0x180274fd0
call fcn.1801b7cf0
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x38]
shl ebx, 6
lea esi, [rbx + rax]
mov ebx, dword [rsp + 0x24]
jmp 0x180274e14
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.1801b85f0
mov rcx, qword [rsp + 0xa0]
mov rdx, rbx
call fcn.1801b8ba0
test rax, rax
mov eax, 1
cmovne ebp, eax
mov r12, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov rcx, r12
call fcn.180219150
mov eax, ebp
add rsp, 0x70
pop r15
pop r13
pop r12
pop rbp
pop rbx
ret