Function at 0x1400d12a0
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.14005ed40
movsxd r12, eax
test eax, eax
jns 0x1400d12f2
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.1400ec540
mov r15, rax
test rax, rax
je 0x1400d15e8
mov qword [rsp + 0xc0], rbx
mov rbx, qword [rsp + 0xf8]
test rsi, rsi
jne 0x1400d132b
lea rsi, [0x140197e65]
xor edi, edi
jmp 0x1400d133d
cmp edi, 0xffffffff
jne 0x1400d133d
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rsi + rdi], 0
jne 0x1400d1334
mov r9, rbp
mov qword [rsp + 0x20], 0
mov r8d, edi
mov rdx, rsi
mov rcx, r15
call fcn.1400ec6f0
test eax, eax
je 0x1400d15bf
call fcn.1400ec540
mov rsi, rax
test rax, rax
je 0x1400d15bf
mov eax, dword [rsp + 0xf0]
test eax, eax
je 0x1400d15cb
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.1400ec3b0
mov rcx, rsi
test eax, eax
je 0x1400d15ba
mov rdx, qword [rsp + 0xd0]
movsxd r8, r14d
call fcn.1400ec970
test eax, eax
je 0x1400d15b7
mov r8d, 4
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.1400ec970
test eax, eax
je 0x1400d15b7
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400ec650
test eax, eax
je 0x1400d15b7
movsxd r14, edi
lea rdx, [rsp + 0x40]
mov r8, r14
mov rcx, rbx
call fcn.140173e20
mov ebp, 1
cmp dword [rsp + 0xe0], ebp
jle 0x1400d1590
mov rdx, r15
mov rcx, rsi
call fcn.1400ec3b0
mov rcx, rsi
test eax, eax
je 0x1400d15ba
mov r8, r12
lea rdx, [rsp + 0x40]
call fcn.1400ec970
test eax, eax
je 0x1400d15b7
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400ec650
test eax, eax
je 0x1400d15b7
xor r9d, r9d
test edi, edi
jle 0x1400d154d
cmp edi, 0x40
jb 0x1400d154d
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x40]
add rax, rcx
lea rdx, [rcx + rbx]
cmp rbx, rax
ja 0x1400d14ae
lea rax, [rsp + 0x40]
cmp rdx, rax
jae 0x1400d154d
mov ecx, edi
and ecx, 0x8000003f
jge 0x1400d14bf
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 0x1400d14f0
cmp r9, r14
jge 0x1400d1581
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 0x1400d1570
inc ebp
cmp ebp, dword [rsp + 0xe0]
jl 0x1400d1432
mov eax, dword [rsp + 0xf0]
inc r13d
sub eax, edi
add rbx, r14
mov dword [rsp + 0xf0], eax
test eax, eax
je 0x1400d15cb
mov r14d, dword [rsp + 0xd8]
jmp 0x1400d1380
mov rcx, rsi
call fcn.1400ec4c0
mov rcx, r15
call fcn.1400ec4c0
xor eax, eax
jmp 0x1400d15e0
mov rcx, rsi
call fcn.1400ec4c0
mov rcx, r15
call fcn.1400ec4c0
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