Function at 0x14005ba70
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [r11 - 0x58]
sub rsp, 0x128
mov rax, qword [0x1400d1608]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov r14, qword [rbp + 0x80]
mov rbx, rcx
test rbx, rbx
movsxd rsi, r8d
lea rcx, [0x1400e42d0]
mov r15d, r8d
cmove rbx, rcx
mov dword [rsp + 0x2c], esi
mov rdi, r9
mov rax, rdx
test rdx, rdx
je 0x14005beeb
test r9, r9
je 0x14005beeb
test r14, r14
je 0x14005beeb
mov qword [r11 + 0x20], r12
lea rdx, [rsp + 0x40]
mov rcx, rax
mov qword [r11 - 0x38], r13
call fcn.140065ce0
cmp r15d, 0x10
jge 0x14005bc69
xor edx, edx
test r15d, r15d
jle 0x14005bbca
cmp r15d, 0x40
jb 0x14005bbca
lea rax, [rsi - 1]
lea rcx, [rbp]
add rcx, rax
lea r8, [rbp]
add rax, rbx
cmp r8, rax
ja 0x14005bb2b
cmp rcx, rbx
jae 0x14005bbca
movsxd r11, r15d
lea r10, [rbp]
mov r9, rbx
lea rsi, [rbp + 0x10]
lea r12, [rbp + 0x20]
and r11, 0xffffffffffffffc0
sub r9, rdi
lea rcx, [rdi + 0x10]
sub r10, rdi
sub rsi, rdi
sub r12, rdi
mov r8, 0xfffffffffffffff0
sub r8, rdi
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx - 0x10]
add edx, 0x40
movdqu xmm1, xmmword [r9 + rcx - 0x10]
movdqu xmm2, xmmword [r9 + rcx]
lea rcx, [rcx + 0x40]
pxor xmm1, xmm0
lea rax, [r8 + rcx]
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmmword [r10 + rcx - 0x50], xmm1
pxor xmm2, xmm0
movdqu xmm0, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [r9 + rcx - 0x30]
movdqu xmmword [r10 + rcx - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm2, xmmword [r9 + rcx - 0x20]
movdqu xmmword [rsi + rcx - 0x40], xmm1
pxor xmm2, xmm0
movdqu xmmword [r12 + rcx - 0x40], xmm2
cmp rax, r11
jl 0x14005bb60
movsxd rax, edx
movsxd r8, r15d
cmp rax, r8
jge 0x14005bc05
mov r9, rbx
lea r10, [rbp]
sub r9, rdi
lea rcx, [rax + rdi]
sub r10, rdi
sub r8, rax
add edx, r8d
nop dword [rax]
movzx eax, byte [rcx + r9]
xor al, byte [rcx]
mov byte [rcx + r10], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x14005bbf0
movsxd rax, edx
mov r13d, reloc.WS2_32.dll_recv
cmp rax, r13
jge 0x14005bc29
lea rcx, [rbp]
mov r8d, r13d
add rcx, rax
lea rdx, [rax + rbx]
sub r8, rax
call fcn.14006ffd0
lea r8, [rsp + 0x40]
mov rdx, r14
lea rcx, [rbp]
call fcn.1400668a0
mov eax, r13d
mov r12, qword [rsp + 0x178]
mov r13, qword [rsp + 0x120]
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.14006f1f0
add rsp, 0x128
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r12, r15
mov dword [rsp + 0x30], r15d
shr r12, 4
lea rsi, [rbp]
mov eax, edi
sub rsi, rdi
and eax, 3
mov r13d, reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], eax
mov eax, r12d
shl eax, 4
sub r15d, eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x24], r15d
mov r15d, dword [rsp + 0x20]
test r15d, r15d
je 0x14005bd08
lea rax, [rdi + 0xf]
lea rcx, [rbp]
cmp rcx, rax
ja 0x14005bcbd
lea rax, [rbp + 0xf]
cmp rax, rdi
jae 0x14005bcd3
lea rax, [rbx + 0xf]
lea rcx, [rbp]
cmp rcx, rax
ja 0x14005bcf5
lea rax, [rbp + 0xf]
cmp rax, rbx
jb 0x14005bcf5
mov rax, rdi
sub rbx, rdi
mov rdx, r13
nop dword [rax]
movzx ecx, byte [rbx + rax]
xor cl, byte [rax]
mov byte [rsi + rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x14005bce0
jmp 0x14005bd2a
movdqu xmm1, xmmword [rbx]
movdqu xmm0, xmmword [rdi]
pxor xmm1, xmm0
movdqu xmmword [rbp], xmm1
jmp 0x14005bd2a
mov eax, dword [rbx]
xor eax, dword [rdi]
mov dword [rbp], eax
mov eax, dword [rbx + 4]
xor eax, dword [rdi + 4]
mov dword [rbp + 4], eax
mov eax, dword [rdi + 8]
xor eax, dword [rbx + 8]
mov dword [rbp + 8], eax
mov eax, dword [rdi + 0xc]
xor eax, dword [rbx + 0xc]
mov dword [rbp + 0xc], eax
lea r8, [rsp + 0x40]
mov rdx, r14
lea rcx, [rbp]
call fcn.1400668a0
mov rbx, r14
add rdi, r13
add r14, r13
sub rsi, r13
sub r12, 1
jne 0x14005bca2
mov r15d, dword [rsp + 0x24]
test r15d, r15d
je 0x14005bee2
xor edx, edx
test r15d, r15d
jle 0x14005be5a
cmp r15d, 0x40
jb 0x14005be5a
lea eax, [r15 - 1]
movsxd rcx, eax
lea r8, [rbp]
add r8, rcx
lea r9, [rbp]
lea rax, [rcx + rdi]
cmp r9, rax
ja 0x14005bd98
cmp r8, rdi
jae 0x14005be5a
lea rax, [rcx + rbx]
lea rcx, [rbp]
cmp rcx, rax
ja 0x14005bdae
cmp r8, rbx
jae 0x14005be5a
mov eax, r15d
and eax, 0x8000003f
jge 0x14005bdbf
dec eax
or eax, 0xffffffc0
inc eax
sub r15d, eax
lea r10, [rbp]
mov r9, rbx
movsxd r15, r15d
lea r11, [rbp + 0x10]
sub r9, rdi
lea rsi, [rbp + 0x20]
sub r10, rdi
sub r11, rdi
lea rcx, [rdi + 0x10]
sub rsi, rdi
mov r8, 0xfffffffffffffff0
sub r8, rdi
nop
movdqu xmm0, xmmword [rcx - 0x10]
add edx, 0x40
movdqu xmm1, xmmword [r9 + rcx - 0x10]
movdqu xmm2, xmmword [r9 + rcx]
lea rcx, [rcx + 0x40]
pxor xmm1, xmm0
lea rax, [r8 + rcx]
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmmword [r10 + rcx - 0x50], xmm1
pxor xmm2, xmm0
movdqu xmm0, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [r9 + rcx - 0x30]
movdqu xmmword [r10 + rcx - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm2, xmmword [r9 + rcx - 0x20]
movdqu xmmword [r11 + rcx - 0x40], xmm1
pxor xmm2, xmm0
movdqu xmmword [rsi + rcx - 0x40], xmm2
cmp rax, r15
jl 0x14005bdf0
mov eax, dword [rsp + 0x28]
movsxd rsi, dword [rsp + 0x2c]
sub rsi, rax
movsxd r11, edx
cmp r11, rsi
jge 0x14005bea5
mov r8, rbx
lea r10, [rbp]
mov r9, rsi
lea rcx, [r11 + rdi]
sub r8, rdi
sub r10, rdi
sub r9, r11
add edx, r9d
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
xor al, byte [rcx]
mov byte [rcx + r10], al
lea rcx, [rcx + 1]
sub r9, 1
jne 0x14005be90
movsxd rax, edx
cmp rax, r13
jge 0x14005bec3
sub r13, rax
lea rcx, [rbp]
add rcx, rax
lea rdx, [rax + rbx]
mov r8, r13
call fcn.14006ffd0
mov r8, rsi
mov rdx, rbx
mov rcx, r14
call fcn.14006ffd0
lea r8, [rsp + 0x40]
mov rdx, rbx
lea rcx, [rbp]
call fcn.1400668a0
mov eax, dword [rsp + 0x30]
jmp 0x14005bc3d
mov eax, 0xffffffff
jmp 0x14005bc4d