Function at 0x1400d17e0
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.140061a40
movsxd r12, eax
test eax, eax
jns 0x1400d1832
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.1400ec530
mov r15, rax
test rax, rax
je 0x1400d1b28
mov qword [rsp + 0xc0], rbx
mov rbx, qword [rsp + 0xf8]
test rsi, rsi
jne 0x1400d186b
lea rsi, [0x1401a4de0]
xor edi, edi
jmp 0x1400d187d
cmp edi, 0xffffffff
jne 0x1400d187d
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rsi + rdi], 0
jne 0x1400d1874
mov r9, rbp
mov qword [rsp + 0x20], 0
mov r8d, edi
mov rdx, rsi
mov rcx, r15
call fcn.1400ec6e0
test eax, eax
je 0x1400d1aff
call fcn.1400ec530
mov rsi, rax
test rax, rax
je 0x1400d1aff
mov eax, dword [rsp + 0xf0]
test eax, eax
je 0x1400d1b0b
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.1400ec3a0
mov rcx, rsi
test eax, eax
je 0x1400d1afa
mov rdx, qword [rsp + 0xd0]
movsxd r8, r14d
call fcn.1400ec960
test eax, eax
je 0x1400d1af7
mov r8d, 4
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.1400ec960
test eax, eax
je 0x1400d1af7
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400ec640
test eax, eax
je 0x1400d1af7
movsxd r14, edi
lea rdx, [rsp + 0x40]
mov r8, r14
mov rcx, rbx
call fcn.140174ed0
mov ebp, 1
cmp dword [rsp + 0xe0], ebp
jle 0x1400d1ad0
mov rdx, r15
mov rcx, rsi
call fcn.1400ec3a0
mov rcx, rsi
test eax, eax
je 0x1400d1afa
mov r8, r12
lea rdx, [rsp + 0x40]
call fcn.1400ec960
test eax, eax
je 0x1400d1af7
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400ec640
test eax, eax
je 0x1400d1af7
xor r9d, r9d
test edi, edi
jle 0x1400d1a8d
cmp edi, 0x40
jb 0x1400d1a8d
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x40]
add rax, rcx
lea rdx, [rcx + rbx]
cmp rbx, rax
ja 0x1400d19ee
lea rax, [rsp + 0x40]
cmp rdx, rax
jae 0x1400d1a8d
mov ecx, edi
and ecx, 0x8000003f
jge 0x1400d19ff
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 0x1400d1a30
cmp r9, r14
jge 0x1400d1ac1
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 0x1400d1ab0
inc ebp
cmp ebp, dword [rsp + 0xe0]
jl 0x1400d1972
mov eax, dword [rsp + 0xf0]
inc r13d
sub eax, edi
add rbx, r14
mov dword [rsp + 0xf0], eax
test eax, eax
je 0x1400d1b0b
mov r14d, dword [rsp + 0xd8]
jmp 0x1400d18c0
mov rcx, rsi
call fcn.1400ec4b0
mov rcx, r15
call fcn.1400ec4b0
xor eax, eax
jmp 0x1400d1b20
mov rcx, rsi
call fcn.1400ec4b0
mov rcx, r15
call fcn.1400ec4b0
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