Function at 0x1400d2be0
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x88
mov rbp, qword [rsp + 0xe8]
mov rsi, rcx
mov rcx, rbp
mov r14d, r9d
mov edi, edx
mov r13d, 1
call fcn.140060870
movsxd r12, eax
test eax, eax
jns 0x1400d2c32
xor eax, eax
add rsp, 0x88
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x80], r15
call fcn.1400ede70
mov r15, rax
test rax, rax
je 0x1400d2f28
mov qword [rsp + 0xc0], rbx
mov rbx, qword [rsp + 0xf8]
test rsi, rsi
jne 0x1400d2c6b
lea rsi, [0x140199ec6]
xor edi, edi
jmp 0x1400d2c7d
cmp edi, 0xffffffff
jne 0x1400d2c7d
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rsi + rdi], 0
jne 0x1400d2c74
mov r9, rbp
mov qword [rsp + 0x20], 0
mov r8d, edi
mov rdx, rsi
mov rcx, r15
call fcn.1400ee020
test eax, eax
je 0x1400d2eff
call fcn.1400ede70
mov rsi, rax
test rax, rax
je 0x1400d2eff
mov eax, dword [rsp + 0xf0]
test eax, eax
je 0x1400d2f0b
nop
cmp eax, r12d
mov byte [rsp + 0x33], r13b
mov edi, eax
mov rdx, r15
cmovg edi, r12d
mov eax, r13d
shr eax, 0x18
mov rcx, rsi
mov byte [rsp + 0x30], al
mov eax, r13d
shr eax, 0x10
mov byte [rsp + 0x31], al
mov eax, r13d
shr eax, 8
mov byte [rsp + 0x32], al
call fcn.1400edce0
mov rcx, rsi
test eax, eax
je 0x1400d2efa
mov rdx, qword [rsp + 0xd0]
movsxd r8, r14d
call fcn.1400ee2a0
test eax, eax
je 0x1400d2ef7
mov r8d, 4
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.1400ee2a0
test eax, eax
je 0x1400d2ef7
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400edf80
test eax, eax
je 0x1400d2ef7
movsxd r14, edi
lea rdx, [rsp + 0x40]
mov r8, r14
mov rcx, rbx
call fcn.1401757c0
mov ebp, 1
cmp dword [rsp + 0xe0], ebp
jle 0x1400d2ed0
mov rdx, r15
mov rcx, rsi
call fcn.1400edce0
mov rcx, rsi
test eax, eax
je 0x1400d2efa
mov r8, r12
lea rdx, [rsp + 0x40]
call fcn.1400ee2a0
test eax, eax
je 0x1400d2ef7
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400edf80
test eax, eax
je 0x1400d2ef7
xor r9d, r9d
test edi, edi
jle 0x1400d2e8d
cmp edi, 0x40
jb 0x1400d2e8d
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x40]
add rax, rcx
lea rdx, [rcx + rbx]
cmp rbx, rax
ja 0x1400d2dee
lea rax, [rsp + 0x40]
cmp rdx, rax
jae 0x1400d2e8d
mov ecx, edi
and ecx, 0x8000003f
jge 0x1400d2dff
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, edi
lea rdx, [rsp + 0x50]
sub eax, ecx
lea r8, [rsp + 0x60]
lea rcx, [rsp + 0x40]
movsxd r11, eax
sub rcx, rbx
lea r10, [rsp + 0x70]
sub rdx, rbx
sub r8, rbx
sub r10, rbx
mov rax, rbx
nop dword [rax]
movdqu xmm0, xmmword [rax]
add r9, 0x40
movdqu xmm1, xmmword [rcx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x40], xmm1
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm1, xmmword [rdx + rax - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [r8 + rax - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
movdqu xmm0, xmmword [rax - 0x10]
movdqu xmm1, xmmword [r10 + rax - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x10], xmm1
cmp r9, r11
jl 0x1400d2e30
cmp r9, r14
jge 0x1400d2ec1
lea r8, [rsp + 0x40]
mov rdx, r14
sub r8, rbx
lea rax, [r9 + rbx]
sub rdx, r9
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [r8 + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x1400d2eb0
inc ebp
cmp ebp, dword [rsp + 0xe0]
jl 0x1400d2d72
mov eax, dword [rsp + 0xf0]
inc r13d
sub eax, edi
add rbx, r14
mov dword [rsp + 0xf0], eax
test eax, eax
je 0x1400d2f0b
mov r14d, dword [rsp + 0xd8]
jmp 0x1400d2cc0
mov rcx, rsi
call fcn.1400eddf0
mov rcx, r15
call fcn.1400eddf0
xor eax, eax
jmp 0x1400d2f20
mov rcx, rsi
call fcn.1400eddf0
mov rcx, r15
call fcn.1400eddf0
mov eax, 1
mov rbx, qword [rsp + 0xc0]
mov r15, qword [rsp + 0x80]
add rsp, 0x88
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret