Function at 0x14007dd70
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
sub rsp, 0xb0
mov rax, qword [0x140104100]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov r12, qword [rsp + 0x100]
mov r13d, r9d
mov esi, dword [rsp + 0x118]
mov r9, rcx
mov ecx, dword [rsp + 0x108]
mov r14, r8
mov r10d, edx
call fcn.1400744f0
mov ebp, eax
test eax, eax
js 0x14007e0c3
mov eax, dword [rsp + 0x120]
lea ecx, [rax - 1]
and ecx, 7
mov dword [rsp + 0x30], ecx
jne 0x14007dde0
mov byte [r14], 0
inc r14
dec r13d
mov qword [rsp + 0x98], r15
cmp esi, 0xffffffff
jne 0x14007de02
mov esi, ebp
cmp eax, 0x400
jne 0x14007de13
cmp ebp, 0x40
jne 0x14007de13
mov esi, 0x3e
jmp 0x14007de13
cmp esi, ebp
jg 0x14007e0b6
cmp esi, 0xffffffff
jl 0x14007e0b6
mov r15d, r13d
lea eax, [rsi + 2]
sub r15d, ebp
cmp r15d, eax
jl 0x14007e0b6
mov qword [rsp + 0xa8], rbx
xor eax, eax
mov qword [rsp + 0xa0], rdi
mov r8, r10
lea rdi, [r14 + 8]
mov qword [r14], rax
mov rcx, rdi
lea rbx, [rdi + r10]
mov rdx, r9
dec r15d
call fcn.1400ce550
test esi, esi
jle 0x14007de8a
mov r8d, esi
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.14008d3c0
mov r9d, eax
test eax, eax
jne 0x14007e0a1
movsxd r12, esi
lea rdx, [rsp + 0x40]
mov r8, r12
mov rcx, rbx
call fcn.1400ce550
add rbx, r12
jmp 0x14007de8d
movsxd r12, esi
mov ecx, dword [rsp + 0x108]
sub ebx, r14d
movsxd rax, r15d
mov r8d, ebx
mov rdx, r14
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], ebp
lea rdi, [rax + r14]
mov r9, rdi
call fcn.140074610
mov r9d, eax
test eax, eax
jne 0x14007e0a1
mov ecx, dword [rsp + 0x110]
lea eax, [r13 - 1]
mov byte [rax + r14], 0xbc
sub ecx, 1
je 0x14007df04
sub ecx, 1
je 0x14007defd
sub ecx, 1
je 0x14007def6
cmp ecx, 0x17
je 0x14007deef
mov r9d, 0xffffff53
jmp 0x14007e0a1
mov ecx, 4
jmp 0x14007df09
mov ecx, 8
jmp 0x14007df09
mov ecx, 7
jmp 0x14007df09
mov ecx, 6
mov r9, r14
mov dword [rsp + 0x20], r15d
mov r8d, ebp
mov rdx, rdi
call fcn.14007d830
mov r9d, eax
test eax, eax
jne 0x14007e0a1
mov rdx, qword [rsp + 0x38]
mov eax, 1
mov ecx, dword [rsp + 0x30]
sub rdx, r12
add rdx, r14
shl al, cl
dec al
xor r8d, r8d
and byte [r14], al
xor byte [rdx - 1], 1
test esi, esi
jle 0x14007e074
cmp esi, 8
jb 0x14007e074
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x40]
add rax, rcx
lea r10, [rcx + rdx]
cmp rdx, rax
ja 0x14007df7f
lea rax, [rsp + 0x40]
cmp r10, rax
jae 0x14007e074
cmp esi, 0x40
jb 0x14007e029
mov ecx, esi
and ecx, 0x8000003f
jge 0x14007df99
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, esi
sub eax, ecx
lea r10, [rsp + 0x40]
movsxd rdi, eax
lea r11, [rsp + 0x50]
sub r10, rdx
sub r11, rdx
lea rcx, [rdx + 0x20]
mov rbx, 0xffffffffffffffe0
sub rbx, rdx
nop
movdqu xmm0, xmmword [rcx - 0x20]
add r8d, 0x40
movdqu xmm1, xmmword [r10 + rcx - 0x20]
lea rcx, [rcx + 0x40]
lea rax, [rcx + rbx]
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x60], xmm1
movdqu xmm0, xmmword [rcx - 0x50]
movdqu xmm1, xmmword [rcx + r11 - 0x60]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r10 + rcx - 0x40]
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm2, xmmword [rcx - 0x40]
xorps xmm2, xmm0
movdqu xmm0, xmmword [rcx + r11 - 0x40]
movdqu xmmword [rcx - 0x40], xmm2
movdqu xmm1, xmmword [rcx - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
cmp rax, rdi
jl 0x14007dfc0
mov eax, esi
and al, 0x3f
cmp al, 8
jb 0x14007e074
mov eax, esi
and eax, 0x80000007
jge 0x14007e039
dec eax
or eax, 0xfffffff8
inc eax
mov ecx, esi
sub ecx, eax
movsxd rax, r8d
lea r10, [rsp + 0x40]
movsxd r11, ecx
sub r10, rdx
lea rcx, [rax + rdx]
nop
movq xmm0, qword [rcx]
add r8d, 8
movq xmm1, qword [r10 + rcx]
xorps xmm1, xmm0
movq qword [rcx], xmm1
add rcx, 8
mov rax, rcx
sub rax, rdx
cmp rax, r11
jl 0x14007e050
movsxd rcx, r8d
movsxd r8, esi
cmp rcx, r8
jge 0x14007e0a1
lea r10, [rsp + 0x40]
sub r10, rdx
lea rax, [rcx + rdx]
sub r8, rcx
nop
movzx ecx, byte [r10 + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub r8, 1
jne 0x14007e090
mov rdi, qword [rsp + 0xa0]
mov eax, r9d
mov rbx, qword [rsp + 0xa8]
jmp 0x14007e0bb
mov eax, 0xffffff06
mov r15, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1400a3910
add rsp, 0xb0
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret