Function at 0x1400a34a0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x350
mov rax, qword [0x140398130]
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.1403163f0
xor r11d, r11d
xor r9d, r9d
mov qword [rsp + 0x38], r11
test rdi, rdi
je 0x1400a39c4
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 0x1400a3540
lea rax, [rsp + 0x120]
lea r10d, [r9 + 0x30]
nop word [rax + 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 0x1400a35d0
mov rbp, qword [rbx + 0x20]
xor r11d, r11d
mov rax, qword [rbx + 0x38]
mov rdi, rbp
mov r12, qword [rbx + 0x28]
mov r15, qword [rbx + 0x18]
mov rsi, r12
mov r13, qword [rbx + 0x30]
mov r14, qword [rbx + 0x10]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x50], rbp
mov rbp, 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], r15
mov r15, 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, [0x1403755c0]
mov rdx, r15
ror rdx, 0x29
mov rax, r15
ror rax, 0x12
mov rcx, r15
xor rdx, rax
not rcx
and rcx, r12
mov rax, r15
ror rax, 0xe
mov r9, rbx
xor rdx, rax
xor r9, rdi
and r9, r14
mov rax, rbp
and rax, r15
xor rcx, rax
mov rax, r14
add rdx, rcx
ror rax, 0x22
add rdx, qword [r11 + r8]
mov rcx, r14
add rdx, qword [rsp + r11 + 0xb0]
add rdx, r13
ror rcx, 0x27
xor rcx, rax
mov rax, r14
ror rax, 0x1c
xor rcx, rax
mov rax, rbx
lea r10, [rsi + rdx]
and rax, rdi
xor r9, rax
mov rsi, rbx
xor rsi, r14
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, rbp
mov rax, r10
ror rax, 0xe
xor rdx, rax
mov rax, r10
and rax, r15
xor rcx, rax
mov rax, r9
add rdx, rcx
ror rax, 0x22
add rdx, qword [r11 + r8 + 8]
mov rcx, r9
add rdx, qword [rsp + r11 + 0xb8]
add rdx, r12
ror rcx, 0x27
xor rcx, rax
mov rax, r9
ror rax, 0x1c
xor rcx, rax
mov rax, rbx
and rax, r14
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, r15
mov rax, r13
and rax, r10
mov rdi, r9
xor rcx, rax
xor rdi, r14
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, rbp
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, r14
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, r13
and rax, r12
xor rcx, rax
lea rax, [0x1403755c0]
add r8, rcx
add r8, qword [rsp + r11 + 0xc8]
add r8, qword [r11 + rax + 0x18]
mov rax, rdi
ror rax, 0x22
add r8, r15
xor rdx, rax
mov rax, rdi
ror rax, 0x1c
xor rdx, rax
mov rax, r9
lea rbp, [r14 + r8]
and rax, rsi
xor rbx, rax
mov rcx, rbp
not rcx
lea rax, [r8 + rdx]
and rcx, r13
add rbx, rax
mov r8, rbp
ror r8, 0x29
mov rax, rbp
ror rax, 0x12
xor r8, rax
mov rax, rbp
ror rax, 0xe
xor r8, rax
mov rax, r12
and rax, rbp
xor rcx, rax
lea rax, [0x1403755c0]
add r8, rcx
add r8, qword [rsp + r11 + 0xd0]
add r8, qword [r11 + rax + 0x20]
add r8, r10
lea r15, [r9 + r8]
mov rdx, rbx
lea r11, [r11 + 0x28]
ror rdx, 0x27
mov rax, rbx
ror rax, 0x22
mov r14, rsi
xor rdx, rax
xor r14, rdi
and r14, rbx
mov rax, rbx
ror rax, 0x1c
xor rdx, rax
mov rax, rsi
and rax, rdi
xor r14, rax
lea rax, [r8 + rdx]
add r14, rax
sub qword [rsp + 0x20], 1
jne 0x1400a3690
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], r14
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, r15
add rax, qword [rsp + 0x60]
mov qword [rbx + 0x30], rax
mov rax, qword [rsp + 0x68]
add rax, rbp
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 0x1400a3530
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.1403139c0
add rsp, 0x350
pop rdi
pop rsi
pop rbx
ret