Function at 0x1401cd920
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov r10, qword [rcx + 0x20]
mov ebp, r8d
mov r14, rdx
mov rsi, rcx
mov ebx, 0x31
mov r11d, 8
mov r9d, dword [r10 + 4]
mov eax, ebx
movzx r8d, byte [r10 + 8]
cmp r11d, r9d
mov edx, r9d
cmovb edx, r11d
sub r11d, edx
mov ecx, r11d
shr eax, cl
mov ecx, edx
shl r8b, cl
mov ecx, r11d
or r8b, al
shl eax, cl
sub ebx, eax
mov byte [r10 + 8], r8b
sub r9d, edx
mov dword [r10 + 4], r9d
jne 0x1401cd9a1
mov ecx, dword [r10]
mov rax, qword [r10 + 0x10]
mov byte [rcx + rax], r8b
inc dword [r10]
mov dword [r10 + 4], 8
test r11d, r11d
jne 0x1401cd952
mov r9, qword [rsi + 0x20]
lea ebx, [r11 + 0x41]
mov r10d, 8
nop dword [rax]
nop dword [rax + rax]
mov r8d, dword [r9 + 4]
mov eax, ebx
movzx r11d, byte [r9 + 8]
cmp r10d, r8d
mov edx, r8d
cmovb edx, r10d
sub r10d, edx
mov ecx, r10d
shr eax, cl
mov ecx, edx
shl r11b, cl
mov ecx, r10d
or r11b, al
shl eax, cl
sub ebx, eax
mov byte [r9 + 8], r11b
sub r8d, edx
mov dword [r9 + 4], r8d
jne 0x1401cda0f
mov ecx, dword [r9]
mov rax, qword [r9 + 0x10]
mov byte [rcx + rax], r11b
inc dword [r9]
mov dword [r9 + 4], 8
test r10d, r10d
jne 0x1401cd9c0
mov r9, qword [rsi + 0x20]
mov edi, 0x59
mov ebx, edi
mov r10d, 8
nop word [rax + rax]
mov r8d, dword [r9 + 4]
mov eax, ebx
movzx r11d, byte [r9 + 8]
cmp r10d, r8d
mov edx, r8d
cmovb edx, r10d
sub r10d, edx
mov ecx, r10d
shr eax, cl
mov ecx, edx
shl r11b, cl
mov ecx, r10d
or r11b, al
shl eax, cl
sub ebx, eax
mov byte [r9 + 8], r11b
sub r8d, edx
mov dword [r9 + 4], r8d
jne 0x1401cda7f
mov ecx, dword [r9]
mov rax, qword [r9 + 0x10]
mov byte [rcx + rax], r11b
inc dword [r9]
mov dword [r9 + 4], 8
test r10d, r10d
jne 0x1401cda30
mov r9, qword [rsi + 0x20]
lea ebx, [r10 + 0x26]
mov r10d, 8
mov r8d, dword [r9 + 4]
mov eax, ebx
movzx r11d, byte [r9 + 8]
cmp r10d, r8d
mov edx, r8d
cmovb edx, r10d
sub r10d, edx
mov ecx, r10d
shr eax, cl
mov ecx, edx
shl r11b, cl
mov ecx, r10d
or r11b, al
shl eax, cl
sub ebx, eax
mov byte [r9 + 8], r11b
sub r8d, edx
mov dword [r9 + 4], r8d
jne 0x1401cdae1
mov ecx, dword [r9]
mov rax, qword [r9 + 0x10]
mov byte [rcx + rax], r11b
inc dword [r9]
mov dword [r9 + 4], 8
test r10d, r10d
jne 0x1401cda92
mov r9, qword [rsi + 0x20]
lea ebx, [r10 + 0x53]
mov r10d, 8
nop dword [rax]
nop dword [rax + rax]
mov r8d, dword [r9 + 4]
mov eax, ebx
movzx r11d, byte [r9 + 8]
cmp r10d, r8d
mov edx, r8d
cmovb edx, r10d
sub r10d, edx
mov ecx, r10d
shr eax, cl
mov ecx, edx
shl r11b, cl
mov ecx, r10d
or r11b, al
shl eax, cl
sub ebx, eax
mov byte [r9 + 8], r11b
sub r8d, edx
mov dword [r9 + 4], r8d
jne 0x1401cdb4f
mov ecx, dword [r9]
mov rax, qword [r9 + 0x10]
mov byte [rcx + rax], r11b
inc dword [r9]
mov dword [r9 + 4], 8
test r10d, r10d
jne 0x1401cdb00
mov r9, qword [rsi + 0x20]
mov r10d, 8
nop
mov r8d, dword [r9 + 4]
mov eax, edi
movzx r11d, byte [r9 + 8]
cmp r10d, r8d
mov edx, r8d
cmovb edx, r10d
sub r10d, edx
mov ecx, r10d
shr eax, cl
mov ecx, edx
shl r11b, cl
mov ecx, r10d
or r11b, al
shl eax, cl
sub edi, eax
mov byte [r9 + 8], r11b
sub r8d, edx
mov dword [r9 + 4], r8d
jne 0x1401cdbaf
mov ecx, dword [r9]
mov rax, qword [r9 + 0x10]
mov byte [rcx + rax], r11b
inc dword [r9]
mov dword [r9 + 4], 8
test r10d, r10d
jne 0x1401cdb60
movzx r10d, byte [r14]
lea r11, [0x1402c0330]
xor r9d, r9d
mov ebx, 0xffffffff
xor r8d, r8d
lea edi, [r9 + 1]
nop
movzx edx, byte [r8 + r14]
cmp r9d, 4
jne 0x1401cdc0a
test dl, dl
je 0x1401cdc05
movzx ecx, r10b
nop dword [rax]
nop word [rax + rax]
mov eax, ebx
shr rax, 0x18
xor rax, rcx
shl ebx, 8
xor ebx, dword [r11 + rax*4]
add dl, 0xff
jne 0x1401cdbf0
xor r9d, r9d
jmp 0x1401cdc2c
mov ecx, ebx
shr rcx, 0x18
xor rcx, rdx
shl ebx, 8
xor ebx, dword [r11 + rcx*4]
inc r9d
cmp r10b, dl
movzx r10d, r10b
cmovne r9d, edi
cmovne r10d, edx
inc r8d
cmp r8d, ebp
jb 0x1401cdbd0
not ebx
mov rcx, rsi
mov edx, ebx
call fcn.1401ccaa0
mov r8d, ebp
mov rdx, r14
mov rcx, rsi
call fcn.1401ccc80
mov rbp, qword [rsp + 0x38]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret