Function at 0x1400d15e0
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.140061840
movsxd r12, eax
test eax, eax
jns 0x1400d1632
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.1400ec330
mov r15, rax
test rax, rax
je 0x1400d1928
mov qword [rsp + 0xc0], rbx
mov rbx, qword [rsp + 0xf8]
test rsi, rsi
jne 0x1400d166b
lea rsi, [0x1401a4de0]
xor edi, edi
jmp 0x1400d167d
cmp edi, 0xffffffff
jne 0x1400d167d
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rsi + rdi], 0
jne 0x1400d1674
mov r9, rbp
mov qword [rsp + 0x20], 0
mov r8d, edi
mov rdx, rsi
mov rcx, r15
call fcn.1400ec4e0
test eax, eax
je 0x1400d18ff
call fcn.1400ec330
mov rsi, rax
test rax, rax
je 0x1400d18ff
mov eax, dword [rsp + 0xf0]
test eax, eax
je 0x1400d190b
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.1400ec1a0
mov rcx, rsi
test eax, eax
je 0x1400d18fa
mov rdx, qword [rsp + 0xd0]
movsxd r8, r14d
call fcn.1400ec760
test eax, eax
je 0x1400d18f7
mov r8d, 4
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.1400ec760
test eax, eax
je 0x1400d18f7
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400ec440
test eax, eax
je 0x1400d18f7
movsxd r14, edi
lea rdx, [rsp + 0x40]
mov r8, r14
mov rcx, rbx
call fcn.140174ce0
mov ebp, 1
cmp dword [rsp + 0xe0], ebp
jle 0x1400d18d0
mov rdx, r15
mov rcx, rsi
call fcn.1400ec1a0
mov rcx, rsi
test eax, eax
je 0x1400d18fa
mov r8, r12
lea rdx, [rsp + 0x40]
call fcn.1400ec760
test eax, eax
je 0x1400d18f7
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400ec440
test eax, eax
je 0x1400d18f7
xor r9d, r9d
test edi, edi
jle 0x1400d188d
cmp edi, 0x40
jb 0x1400d188d
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x40]
add rax, rcx
lea rdx, [rcx + rbx]
cmp rbx, rax
ja 0x1400d17ee
lea rax, [rsp + 0x40]
cmp rdx, rax
jae 0x1400d188d
mov ecx, edi
and ecx, 0x8000003f
jge 0x1400d17ff
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 0x1400d1830
cmp r9, r14
jge 0x1400d18c1
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 0x1400d18b0
inc ebp
cmp ebp, dword [rsp + 0xe0]
jl 0x1400d1772
mov eax, dword [rsp + 0xf0]
inc r13d
sub eax, edi
add rbx, r14
mov dword [rsp + 0xf0], eax
test eax, eax
je 0x1400d190b
mov r14d, dword [rsp + 0xd8]
jmp 0x1400d16c0
mov rcx, rsi
call fcn.1400ec2b0
mov rcx, r15
call fcn.1400ec2b0
xor eax, eax
jmp 0x1400d1920
mov rcx, rsi
call fcn.1400ec2b0
mov rcx, r15
call fcn.1400ec2b0
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