Function at 0x18018f5b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov r8, qword [rdx + 8]
mov r14, rcx
mov rdx, qword [rdx]
add r8, rdx
add rcx, 8
call fcn.180186df0
mov r9, qword [r14 + 0x28]
mov rdx, qword [r14 + 0x20]
mov rcx, r9
sub rcx, rdx
cmp rcx, 0x10
jbe 0x18018f5fc
lea rax, [rdx + 0x10]
mov qword [r14 + 0x28], rax
jmp 0x18018f63d
jae 0x18018f63d
mov rax, qword [r14 + 0x30]
sub rax, rdx
cmp rax, 0x10
jae 0x18018f620
lea r8, [rsp + 0x40]
mov edx, reloc.WS2_32.dll_recv
lea rcx, [r14 + 0x20]
call fcn.18009da10
jmp 0x18018f63d
mov eax, reloc.WS2_32.dll_recv
sub rax, rcx
lea rbx, [rax + r9]
mov r8, rax
xor edx, edx
mov rcx, r9
call fcn.180283390
mov qword [r14 + 0x28], rbx
xor edi, edi
mov qword [r14 + 0x98], rdi
mov qword [r14 + 0xa0], rdi
mov rdx, qword [r14 + 8]
mov rax, qword [rdx]
mov rcx, rax
shr rcx, 0x20
bswap ecx
bswap eax
mov ebx, eax
shl rbx, 0x20
mov eax, ecx
or rbx, rax
mov rax, qword [rdx + 8]
mov rcx, rax
shr rcx, 0x20
bswap ecx
bswap eax
mov ebp, eax
shl rbp, 0x20
mov eax, ecx
or rbp, rax
mov edx, 0x100
lea rcx, [r14 + 0x68]
call fcn.1800d5ea0
movabs r10, 0xe100000000000000
nop dword [rax]
mov r8, rdi
mov r9d, 8
nop dword [rax]
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax], rbx
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 8], rbp
mov rax, rbp
and eax, 1
imul rax, r10
mov rcx, rbx
shl rcx, 0x3f
shr rbp, 1
or rcx, rbp
shr rbx, 1
xor rbx, rax
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0x20], rbx
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0x28], rcx
mov rax, rcx
and eax, 1
imul rax, r10
mov rdx, rbx
shl rdx, 0x3f
shr rcx, 1
or rdx, rcx
shr rbx, 1
xor rbx, rax
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0x40], rbx
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0x48], rdx
mov rax, rdx
and eax, 1
imul rax, r10
mov rcx, rbx
shl rcx, 0x3f
shr rdx, 1
or rcx, rdx
shr rbx, 1
xor rbx, rax
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0x60], rbx
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0x68], rcx
mov rax, rcx
and eax, 1
imul rax, r10
mov rdx, rbx
shl rdx, 0x3f
shr rcx, 1
or rdx, rcx
shr rbx, 1
xor rbx, rax
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0x80], rbx
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0x88], rdx
mov rax, rdx
and eax, 1
imul rax, r10
mov rcx, rbx
shl rcx, 0x3f
shr rdx, 1
or rcx, rdx
shr rbx, 1
xor rbx, rax
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0xa0], rbx
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0xa8], rcx
mov rax, rcx
and eax, 1
imul rax, r10
mov rdx, rbx
shl rdx, 0x3f
shr rcx, 1
or rdx, rcx
shr rbx, 1
xor rbx, rax
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0xc0], rbx
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0xc8], rdx
mov rax, rdx
and eax, 1
imul rax, r10
mov rcx, rbx
shl rcx, 0x3f
shr rdx, 1
or rcx, rdx
shr rbx, 1
xor rbx, rax
mov rax, qword [r14 + 0x68]
mov qword [rax + r8 + 0xe0], rbx
mov rax, qword [r14 + 0x68]
mov qword [r8 + rax + 0xe8], rcx
mov rax, rcx
and eax, 1
imul rax, r10
mov rbp, rbx
shl rbp, 0x3f
shr rcx, 1
or rbp, rcx
shr rbx, 1
xor rbx, rax
lea r8, [r8 + 0x100]
sub r9, 1
jne 0x18018f6b0
add rdi, 0x10
cmp rdi, 0x20
jne 0x18018f6a0
call fcn.1800e0620
test al, al
je 0x18018f8b4
mov eax, dword [0x18043b6e4]
test al, 1
jne 0x18018f887
or eax, 1
mov dword [0x18043b6e4], eax
lea rcx, [0x18043b6e0]
call fcn.1801587d0
nop
test dword [0x18043b6e0], 0x20000
je 0x18018f8b4
mov edx, 8
lea rcx, [r14 + 0x80]
call fcn.1800d5ea0
mov rdx, qword [r14 + 0x80]
mov rcx, qword [r14 + 8]
call fcn.1801fc270
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret