Function at 0x14003df80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x140080568]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rbp, r9
mov r14d, r8d
mov rbx, rdx
mov rdi, rcx
test r8d, r8d
je 0x14003db4d
mov r9d, dword [rcx + 0x80]
mov r15d, 0x40
test r9d, r9d
je 0x14003d919
cmp r9d, r8d
jb 0x14003d8d3
mov r9d, r8d
test r8d, r8d
je 0x14003d907
mov r11, rbx
mov r10d, r9d
sub r11, rbp
mov r8, rbp
nop
mov eax, r15d
lea r8, [r8 + 1]
sub eax, dword [rcx + 0x80]
movzx edx, byte [rax + rcx + 0x40]
xor dl, byte [r11 + r8 - 1]
mov byte [r8 - 1], dl
dec dword [rcx + 0x80]
sub r10, 1
jne 0x14003d8e0
sub r14d, r9d
je 0x14003db4d
mov eax, r9d
add rbp, rax
add rbx, rax
lea rsi, [rbp + 0x3f]
nop dword [rax]
mov r8d, dword [rdi + 0x88]
lea rcx, [rsp + 0x20]
mov rdx, rdi
call fcn.14003db80
mov ecx, dword [rdi + 0x30]
inc ecx
mov dword [rdi + 0x30], ecx
cmp dword [rdi + 0x84], 8
jne 0x14003d94f
test ecx, ecx
jne 0x14003d957
add dword [rdi + 0x34], 1
jmp 0x14003d951
test ecx, ecx
je 0x14003db70
cmp r14d, r15d
jbe 0x14003da21
lea rax, [rsp + 0x5f]
cmp rbp, rax
ja 0x14003d974
lea rax, [rsp + 0x20]
cmp rsi, rax
jae 0x14003d982
lea rax, [rbx + 0x3f]
cmp rbp, rax
ja 0x14003d9cf
cmp rsi, rbx
jb 0x14003d9cf
lea rax, [rsp + 0x20]
mov r9, r15
nop word [rax + rax]
lea rcx, [rsp + 0x30]
mov rdx, rax
sub rdx, rcx
mov rcx, rsi
movzx r8d, byte [rdx + rbx + 0x10]
lea rdx, [rsp + 0x5f]
xor r8b, byte [rax]
sub rcx, rdx
mov byte [rcx + rax], r8b
inc rax
sub r9, 1
jne 0x14003d990
add r14d, 0xffffffc0
add rbp, 0x40
add rsi, r15
add rbx, r15
jmp 0x14003d920
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [rbx + 0x10]
pxor xmm0, xmmword [rsp + 0x20]
pxor xmm1, xmmword [rsp + 0x30]
movdqu xmmword [rbp], xmm0
movdqu xmm0, xmmword [rbx + 0x20]
movdqu xmmword [rsi - 0x2f], xmm1
movdqu xmm1, xmmword [rbx + 0x30]
pxor xmm0, xmmword [rsp + 0x40]
pxor xmm1, xmmword [rsp + 0x50]
movdqu xmmword [rsi - 0x1f], xmm0
movdqu xmmword [rsi - 0xf], xmm1
add r14d, 0xffffffc0
add rbp, 0x40
add rsi, r15
add rbx, r15
jmp 0x14003d920
xor r8d, r8d
test r14d, r14d
je 0x14003db23
cmp r14d, r15d
jb 0x14003dae3
lea eax, [r14 - 1]
mov ecx, eax
lea rdx, [rax + rbp]
lea rax, [rsp + 0x20]
add rax, rcx
cmp rbp, rax
ja 0x14003da5b
lea rax, [rsp + 0x20]
cmp rdx, rax
jae 0x14003dae3
lea rax, [rcx + rbx]
cmp rbp, rax
ja 0x14003da69
cmp rdx, rbx
jae 0x14003dae3
mov edx, r14d
and edx, 0xffffffc0
mov r9d, 0x20
movdqu xmm0, xmmword [rsp + r8 + 0x20]
lea eax, [r9 - 0x10]
movdqu xmm1, xmmword [r8 + rbx]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rsp + rax + 0x20]
movdqu xmmword [r8 + rbp], xmm1
add r8d, r15d
movdqu xmm1, xmmword [rax + rbx]
pxor xmm1, xmm0
movdqu xmmword [rax + rbp], xmm1
mov eax, r9d
movdqu xmm0, xmmword [rsp + rax + 0x20]
movdqu xmm1, xmmword [rax + rbx]
pxor xmm1, xmm0
movdqu xmmword [rax + rbp], xmm1
lea eax, [r9 + 0x10]
add r9d, r15d
movdqu xmm1, xmmword [rax + rbx]
movdqu xmm0, xmmword [rsp + rax + 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax + rbp], xmm1
cmp r8d, edx
jb 0x14003da75
cmp r8d, r14d
jae 0x14003db23
mov eax, r8d
lea rdx, [rsp + 0x20]
add rdx, rax
lea rax, [rsp + 0x20]
sub rbx, rax
lea rax, [rsp + 0x20]
sub rbp, rax
mov eax, r14d
sub eax, r8d
mov r8d, eax
nop word [rax + rax]
movzx ecx, byte [rdx + rbx]
xor cl, byte [rdx]
mov byte [rdx + rbp], cl
lea rdx, [rdx + 1]
sub r8, 1
jne 0x14003db10
sub r15d, r14d
mov dword [rdi + 0x80], r15d
cmp r14d, 0x40
jae 0x14003db4d
mov eax, r14d
lea rdx, [rsp + 0x20]
lea rcx, [rdi + 0x40]
mov r8d, r15d
add rdx, rax
add rcx, rax
call fcn.14004ac00
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14004ab20
mov rbx, qword [rsp + 0xa8]
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov eax, 0x13
jmp 0x14003db4f
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov ebx, r8d
mov rdi, rdx
mov rsi, rcx
test r8d, r8d
jne 0x14003dfaf
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov r8, rbx
xor edx, edx
mov rcx, rdi
call fcn.14004af40
mov r9, rdi
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14003d880