Function at 0x1400bb210
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push r13
push r14
sub rsp, 0xe0
mov rax, qword [0x140160140]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x138]
xor ebp, ebp
mov r14, qword [rsp + 0x130]
mov rsi, r9
mov qword [rsp + 0x38], rax
mov rbx, r8
mov r13, rcx
mov qword [rax], rbp
cmp r8, 3
jae 0x1400bb261
mov eax, 0xffff9f00
jmp 0x1400bb4c4
mov rax, qword [rdx]
mov rcx, r14
mov qword [rsp + 0xd8], rdi
add rdx, 8
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xc8], r15
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0x90], xmm8
mov qword [r9], rax
lea rax, [r8*8 - 8]
movaps xmmword [rsp + 0x80], xmm9
mov r8, rax
movaps xmmword [rsp + 0x70], xmm10
mov qword [rsp + 0x30], rax
call fcn.1400f9370
lea r15, [r14 + rbx*8]
lea rax, [rbx + rbx*2]
lea rbx, [rax*2 - 6]
lea rdi, [r15 - 0x10]
cmp rbx, 1
jb 0x1400bb457
mov r12d, dword [0x140160198]
movdqa xmm6, xmmword [0x140113270]
movdqa xmm7, xmmword [0x140113230]
movdqa xmm8, xmmword [reloc.WS2_32.dll_closesocket]
movdqa xmm9, xmmword [0x140113250]
movdqa xmm10, xmmword [reloc.WS2_32.dll_getsockopt]
movq xmm2, rbx
punpcklqdq xmm2, xmm2
cmp r12d, 5
jl 0x1400bb3c1
movzx eax, word [rsi]
movdqa xmm0, xmm10
psllq xmm0, 3
vpsrlvq xmm1, xmm2, xmm0
pshufb xmm1, xmm6
movd xmm0, eax
xorps xmm1, xmm0
movdqa xmm0, xmm9
movd eax, xmm1
psllq xmm0, 3
vpsrlvq xmm1, xmm2, xmm0
mov word [rsi], ax
movzx eax, word [rsi + 2]
pshufb xmm1, xmm6
movd xmm0, eax
xorps xmm1, xmm0
movdqa xmm0, xmm8
movd eax, xmm1
psllq xmm0, 3
vpsrlvq xmm1, xmm2, xmm0
mov word [rsi + 2], ax
movzx eax, word [rsi + 4]
pshufb xmm1, xmm6
movd xmm0, eax
xorps xmm1, xmm0
movdqa xmm0, xmm7
movd eax, xmm1
psllq xmm0, 3
vpsrlvq xmm1, xmm2, xmm0
mov word [rsi + 4], ax
movzx eax, word [rsi + 6]
pshufb xmm1, xmm6
movd xmm0, eax
xorps xmm1, xmm0
movd eax, xmm1
mov word [rsi + 6], ax
jmp 0x1400bb3ef
mov rax, rsi
xor r8d, r8d
mov r9d, 8
nop dword [rax]
mov ecx, 0x38
lea rax, [rax + 1]
sub cl, r8b
mov rdx, rbx
shr rdx, cl
add r8, 8
xor byte [rax - 1], dl
sub r9, 1
jne 0x1400bb3d0
mov rax, qword [rsi]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
mov rax, qword [rdi]
mov r8d, reloc.WS2_32.dll_recv
mov qword [rsp + 0x50], rax
mov rcx, r13
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.140094e70
mov ebp, eax
test eax, eax
jne 0x1400bb4e0
mov rcx, qword [rsp + 0x58]
dec rbx
mov qword [rsi], rcx
cmp rdi, r14
mov rcx, qword [rsp + 0x60]
mov qword [rdi], rcx
lea rcx, [rdi - 8]
lea rdi, [r15 - 0x10]
cmovne rdi, rcx
cmp rbx, 1
jae 0x1400bb313
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
mov qword [rcx], rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x48]
call fcn.140092fb0
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x58]
call fcn.140092fb0
movaps xmm10, xmmword [rsp + 0x70]
mov eax, ebp
movaps xmm9, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xb0]
mov r15, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400c86e0
add rsp, 0xe0
pop r14
pop r13
pop rsi
pop rbp
pop rbx
ret
mov r8, qword [rsp + 0x30]
xor edx, edx
mov rcx, r14
call fcn.1400f8fb0
jmp 0x1400bb464