Function at 0x14008caf0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x350
mov rax, qword [0x140345140]
xor rax, rsp
mov qword [rsp + 0x330], rax
mov rdi, r8
mov qword [rsp + 0x98], r8
mov rsi, rdx
mov qword [rsp + 0xa0], rdx
mov rbx, rcx
mov qword [rsp + 0x40], rcx
xor edx, edx
lea rcx, [rsp + 0xb0]
mov r8d, 0x280
call fcn.1402f89a0
xor r11d, r11d
xor r9d, r9d
mov qword [rsp + 0x38], r11
test rdi, rdi
je 0x14008d014
mov qword [rsp + 0x378], rbp
mov qword [rsp + 0x380], r12
mov qword [rsp + 0x388], r13
mov qword [rsp + 0x348], r14
mov qword [rsp + 0x340], r15
nop dword [rax]
mov r8, r11
shl r8, 7
add r8, rsi
nop word [rax + rax]
lea eax, [r9*8]
movzx edx, byte [rax + r8]
shl rdx, 8
mov ecx, eax
movzx eax, byte [rax + r8 + 1]
or rdx, rax
shl rdx, 8
movzx eax, byte [rcx + r8 + 2]
or rdx, rax
movzx eax, byte [rcx + r8 + 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + r8 + 4]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + r8 + 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + r8 + 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + r8 + 7]
shl rdx, 8
or rdx, rax
mov eax, r9d
inc r9d
mov qword [rsp + rax*8 + 0xb0], rdx
cmp r9d, 0x10
jne 0x14008cb90
lea rax, [rsp + 0x120]
mov r10d, 0x40
nop dword [rax]
mov rdx, qword [rax]
mov r8, qword [rax - 0x68]
lea rax, [rax + 8]
mov r9, rdx
mov rcx, rdx
ror r9, 0x3d
shr rdx, 6
ror rcx, 0x13
xor r9, rcx
mov rcx, r8
xor r9, rdx
ror rcx, 1
mov rdx, r8
shr r8, 7
ror rdx, 8
xor rdx, rcx
xor rdx, r8
add r9, rdx
add r9, qword [rax - 0x78]
add r9, qword [rax - 0x30]
mov qword [rax + 8], r9
sub r10, 1
jne 0x14008cc20
mov r15, qword [rbx + 0x20]
xor r11d, r11d
mov rax, qword [rbx + 0x38]
mov rdi, r15
mov r12, qword [rbx + 0x28]
mov r14, qword [rbx + 0x18]
mov rsi, r12
mov r13, qword [rbx + 0x30]
mov rbp, qword [rbx + 0x10]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x50], r15
mov r15, rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x58], r12
mov r12, rax
mov qword [rsp + 0x78], rax
mov rax, qword [rbx + 0x48]
mov rbx, qword [rsp + 0x30]
mov qword [rsp + 0x48], r14
mov r14, r13
mov qword [rsp + 0x60], r13
mov r13, rax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x20], reloc.WS2_32.dll_recv
nop dword [rax]
lea r8, [0x140326200]
mov rdx, r14
ror rdx, 0x29
mov rax, r14
ror rax, 0x12
mov rcx, r14
xor rdx, rax
not rcx
and rcx, r12
mov rax, r14
ror rax, 0xe
mov r9, rbx
xor rdx, rax
xor r9, rdi
and r9, rbp
mov rax, r15
and rax, r14
xor rcx, rax
mov rax, rbp
add rdx, rcx
ror rax, 0x22
add rdx, qword [r11 + r8]
mov rcx, rbp
add rdx, qword [rsp + r11 + 0xb0]
add rdx, r13
ror rcx, 0x27
xor rcx, rax
mov rax, rbp
ror rax, 0x1c
xor rcx, rax
mov rax, rbx
lea r10, [rsi + rdx]
and rax, rdi
xor r9, rax
mov rsi, rbx
xor rsi, rbp
lea rax, [rdx + rcx]
mov rdx, r10
add r9, rax
ror rdx, 0x29
and rsi, r9
mov rax, r10
ror rax, 0x12
mov rcx, r10
xor rdx, rax
not rcx
and rcx, r15
mov rax, r10
ror rax, 0xe
xor rdx, rax
mov rax, r10
and rax, r14
xor rcx, rax
mov rax, r9
add rdx, rcx
ror rax, 0x22
add rdx, qword [rsp + r11 + 0xb8]
mov rcx, r9
add rdx, qword [r11 + r8 + 8]
add rdx, r12
ror rcx, 0x27
xor rcx, rax
mov rax, r9
ror rax, 0x1c
xor rcx, rax
mov rax, rbx
and rax, rbp
lea r13, [rdi + rdx]
xor rsi, rax
lea rax, [rdx + rcx]
mov rdx, r13
add rsi, rax
ror rdx, 0x29
mov rax, r13
mov rcx, r13
ror rax, 0x12
not rcx
xor rdx, rax
mov rax, r13
ror rax, 0xe
xor rdx, rax
and rcx, r14
mov rax, r13
and rax, r10
mov rdi, r9
xor rcx, rax
xor rdi, rbp
add rdx, rcx
and rdi, rsi
add rdx, qword [rsp + r11 + 0xc0]
mov rcx, rsi
add rdx, qword [r11 + r8 + 0x10]
mov rax, rsi
ror rax, 0x22
add rdx, r15
ror rcx, 0x27
xor rcx, rax
mov rax, rsi
ror rax, 0x1c
xor rcx, rax
lea r12, [rbx + rdx]
mov rax, r9
mov r8, r12
and rax, rbp
ror r8, 0x29
xor rdi, rax
mov rbx, r9
lea rax, [rdx + rcx]
xor rbx, rsi
add rdi, rax
mov rcx, r12
not rcx
and rbx, rdi
and rcx, r10
mov rax, r12
ror rax, 0x12
mov rdx, rdi
xor r8, rax
ror rdx, 0x27
mov rax, r12
ror rax, 0xe
xor r8, rax
mov rax, r12
and rax, r13
xor rcx, rax
lea rax, [0x140326200]
add r8, rcx
add r8, qword [rsp + r11 + 0xc8]
add r8, qword [r11 + rax + 0x18]
mov rax, rdi
ror rax, 0x22
add r8, r14
xor rdx, rax
mov rax, rdi
ror rax, 0x1c
xor rdx, rax
mov rax, r9
lea r15, [r8 + rbp]
and rax, rsi
xor rbx, rax
mov rcx, r15
not rcx
lea rax, [r8 + rdx]
and rcx, r13
add rbx, rax
mov r8, r15
ror r8, 0x29
mov rax, r15
ror rax, 0x12
xor r8, rax
mov rax, r15
ror rax, 0xe
xor r8, rax
mov rax, r12
and rax, r15
xor rcx, rax
lea rax, [0x140326200]
add r8, rcx
add r8, qword [rsp + r11 + 0xd0]
add r8, qword [r11 + rax + 0x20]
add r8, r10
lea r14, [r9 + r8]
mov rdx, rbx
lea r11, [r11 + 0x28]
ror rdx, 0x27
mov rax, rbx
ror rax, 0x22
mov rbp, rsi
xor rdx, rax
xor rbp, rdi
and rbp, rbx
mov rax, rbx
ror rax, 0x1c
xor rdx, rax
mov rax, rsi
and rax, rdi
xor rbp, rax
lea rax, [r8 + rdx]
add rbp, rax
sub qword [rsp + 0x20], 1
jne 0x14008cce0
mov r11, qword [rsp + 0x38]
mov r9d, 8
mov qword [rsp + 0x30], rbx
inc r11
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x30]
add rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], r11
add qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rax
mov rax, qword [rsp + 0x50]
add rax, rdi
mov qword [rbx + 0x20], rax
mov rax, qword [rsp + 0x58]
add rax, rsi
mov rsi, qword [rsp + 0xa0]
mov qword [rbx + 0x28], rax
mov rax, r14
add rax, qword [rsp + 0x60]
mov qword [rbx + 0x30], rax
mov rax, qword [rsp + 0x68]
add rax, r15
mov qword [rbx + 0x38], rax
mov rax, qword [rsp + 0x78]
add rax, r12
mov qword [rbx + 0x40], rax
mov rax, qword [rsp + 0x88]
add rax, r13
mov qword [rbx + 0x48], rax
cmp r11, qword [rsp + 0x98]
jne 0x14008cb80
mov r15, qword [rsp + 0x340]
mov r14, qword [rsp + 0x348]
mov r13, qword [rsp + 0x388]
mov r12, qword [rsp + 0x380]
mov rbp, qword [rsp + 0x378]
mov rcx, qword [rsp + 0x330]
xor rcx, rsp
call fcn.1402c69a0
add rsp, 0x350
pop rdi
pop rsi
pop rbx
ret