Function at 0x1400dab80
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push r12
push r14
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x140320c20]
xor rax, rsp
mov qword [rbp - 0x20], rax
cmp dword [rcx], 0
mov rsi, r9
mov r12d, r8d
mov rbx, rdx
mov r14, rcx
je 0x1400dabb5
mov eax, 0xfffffffb
jmp 0x1400dac03
cmp dword [rcx + 8], 0
jne 0x1400dabae
test rdx, rdx
je 0x1400daeba
test r12d, r12d
jle 0x1400daeba
mov eax, r12d
mov qword [rsp + 0x58], rdi
cdq
mov qword [rsp + 0x50], r15
and edx, 0xf
lea r15d, [rdx + rax]
mov eax, dword [rcx + 4]
sar r15d, 4
test eax, eax
je 0x1400dae45
cmp eax, 1
je 0x1400dac1b
or eax, 0xffffffff
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.140215090
add rsp, 0x60
pop r14
pop r12
pop rsi
pop rbx
pop rbp
ret
cmp dword [rcx + 0xc], 0
jne 0x1400dac2e
movups xmm0, xmmword [rcx + 0x10]
mov dword [rcx + 0xc], 1
jmp 0x1400dac32
movups xmm0, xmmword [rcx + 0x20]
mov edi, r15d
movups xmmword [rbp - 0x30], xmm0
test r15d, r15d
jle 0x1400dac87
nop
mov eax, dword [rbx]
lea rdx, [rbp - 0x40]
xor eax, dword [rbp - 0x30]
mov r8, rsi
mov dword [rbp - 0x40], eax
mov rcx, r14
mov eax, dword [rbx + 4]
xor eax, dword [rbp - 0x2c]
mov dword [rbp - 0x3c], eax
mov eax, dword [rbx + 8]
xor eax, dword [rbp - 0x28]
mov dword [rbp - 0x38], eax
mov eax, dword [rbx + 0xc]
xor eax, dword [rbp - 0x24]
mov dword [rbp - 0x34], eax
call fcn.1400db200
movups xmm0, xmmword [rsi]
add rsi, 0x10
add rbx, 0x10
dec edi
movups xmmword [rbp - 0x30], xmm0
test edi, edi
jg 0x1400dac40
shl r15d, 4
xor edx, edx
mov r9d, r15d
mov r11d, reloc.WS2_32.dll_recv
sub r9d, r12d
mov r8d, r11d
add r9d, 0x10
mov r10d, edx
sub r8d, r9d
test r8d, r8d
jle 0x1400dad52
cmp r8d, 0x20
jb 0x1400dad52
lea eax, [r8 - 1]
movsxd rcx, eax
lea rdi, [rbp - 0x40]
add rdi, rcx
lea rax, [rcx + rbx]
lea rcx, [rbp - 0x40]
cmp rcx, rax
ja 0x1400dacdd
cmp rdi, rbx
jae 0x1400dad52
mov ecx, r8d
and ecx, 0x8000001f
jge 0x1400dacef
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, r8d
lea r12, [rbp - 0x20]
sub eax, ecx
mov rcx, rbx
movsxd rdi, eax
lea rax, [rbp - 0x30]
sub rcx, rax
mov rax, rbx
sub rax, r12
lea r12, [rax + 0x10]
nop
lea rax, [rbp - 0x30]
add r10d, 0x20
add rax, rdx
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rcx + rax]
lea rax, [rbp - 0x20]
add rax, rdx
pxor xmm1, xmm0
movdqu xmmword [rbp + rdx - 0x40], xmm1
movdqu xmm1, xmmword [r12 + rax]
movdqu xmm0, xmmword [rax]
pxor xmm1, xmm0
movdqu xmmword [rbp + rdx - 0x30], xmm1
add rdx, 0x20
cmp rdx, rdi
jl 0x1400dad10
movsxd rdx, r10d
movsxd r10, r8d
cmp rdx, r10
jge 0x1400dad89
lea rax, [rbp - 0x30]
sub rbx, rax
nop dword [rax]
nop dword [rax + rax]
lea rax, [rbp - 0x30]
add rax, rdx
movzx ecx, byte [rbx + rax]
xor cl, byte [rax]
mov byte [rbp + rdx - 0x40], cl
inc rdx
cmp rdx, r10
jl 0x1400dad70
mov ecx, r11d
sub ecx, r8d
cmp r8d, r11d
jge 0x1400dadfd
cmp ecx, 0x20
jb 0x1400dadfd
movsx eax, r9b
movd xmm2, eax
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pshufd xmm2, xmm2, 0
movsxd rax, r8d
and ecx, 0x8000001f
jge 0x1400dadc0
dec ecx
or ecx, 0xffffffe0
inc ecx
sub r11d, ecx
movsxd rcx, r11d
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + rax - 0x30]
add r8d, 0x20
movdqu xmm1, xmmword [rbp + rax - 0x20]
pxor xmm0, xmm2
movdqu xmmword [rbp + rax - 0x40], xmm0
pxor xmm1, xmm2
movdqu xmmword [rbp + rax - 0x30], xmm1
add rax, 0x20
cmp rax, rcx
jl 0x1400dadd0
movsxd rcx, r8d
cmp rcx, 0x10
jge 0x1400dae25
nop word [rax + rax]
movzx eax, byte [rbp + rcx - 0x30]
xor al, r9b
mov byte [rbp + rcx - 0x40], al
inc rcx
cmp rcx, 0x10
jl 0x1400dae10
mov r8, rsi
lea rdx, [rbp - 0x40]
mov rcx, r14
call fcn.1400db200
movups xmm0, xmmword [rsi]
lea eax, [r15 + 0x10]
movups xmmword [r14 + 0x20], xmm0
jmp 0x1400dabf9
mov edi, r15d
test r15d, r15d
jle 0x1400dae6c
nop dword [rax]
mov r8, rsi
mov rdx, rbx
mov rcx, r14
call fcn.1400db200
add rbx, 0x10
add rsi, 0x10
dec edi
test edi, edi
jg 0x1400dae50
mov r11d, reloc.WS2_32.dll_recv
shl r15d, 4
mov edi, r15d
lea rcx, [rbp - 0x40]
sub edi, r12d
mov rdx, rbx
add edi, 0x10
sub r11d, edi
movsxd r8, r11d
call fcn.140218780
movsxd r8, edi
lea rcx, [rbp - 0x30]
sub rcx, r8
mov edx, edi
call fcn.140218bd0
mov r8, rsi
lea rdx, [rbp - 0x40]
mov rcx, r14
call fcn.1400db200
lea eax, [r15 + 0x10]
jmp 0x1400dabf9
xor eax, eax
jmp 0x1400dac03