Function at 0x1400d80a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x108b8]
mov eax, 0x109b8
call fcn.140169bf0
sub rsp, rax
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov rax, qword [0x14026be10]
xor rax, rsp
mov qword [rbp + 0x108a8], rax
mov r13, r9
mov rsi, r8
mov qword [rsp + 0x50], r8
mov rdi, rdx
mov rbx, rcx
mov rcx, r8
call fcn.140035e00
xor edx, edx
mov r8d, 0x2b8
lea rcx, [rbp + 0x80]
call fcn.14016c710
lea rcx, [rbp + 0x80]
call fcn.1400dba90
nop
xor edx, edx
mov r8d, 0xf0
lea rcx, [rbp - 0x70]
call fcn.14016c710
lea r12, vtable._ckSymSettings.0
mov qword [rbp - 0x70], r12
xor r14d, r14d
mov qword [rbp - 0x68], r14
mov dword [rbp - 0x60], 0x100
lea rcx, [rbp - 0x58]
call fcn.140034320
nop
mov dword [rbp - 0x28], r14d
lea rcx, [rbp - 0x20]
call fcn.140034320
nop
lea rcx, [rbp + 0x10]
call fcn.140034320
nop
lea rcx, [rbp + 0x40]
call fcn.140034320
mov dword [rbp + 0x70], r14d
mov dword [rbp + 0x74], pe_nt_image_headers64
mov byte [rbp + 0x78], r14b
mov byte [rbp - 0x30], 1
mov byte [rbp + 8], 1
xor edx, edx
mov r8d, 0x10560
lea rcx, [rbp + 0x340]
call fcn.14016c710
lea rax, vtable._ckCryptContext.0
mov qword [rbp + 0x340], rax
mov qword [rbp + 0x358], r14
lea rcx, [rbp + 0x360]
call fcn.140034320
nop
lea rcx, [rbp + 0x390]
call fcn.14013b240
nop
lea rcx, [rbp + 0x7e0]
call fcn.14013b200
mov qword [rbp + 0x348], r14
mov qword [rbp + 0x350], r14
mov dword [rbp - 0x68], 1
mov rdx, rbx
lea rcx, [rbp - 0x58]
call fcn.1400348f0
lea rcx, [rbp - 0x58]
call fcn.1400372d0
shl eax, 3
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x64], 3
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x340]
lea r8, [rbp - 0x70]
xor edx, edx
lea rcx, [rbp + 0x80]
call fcn.1400d79f0
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
lea rcx, [rsp + 0x60]
call fcn.140034320
nop
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.1400348f0
lea rcx, [rsp + 0x60]
call fcn.1400372d0
mov r15d, eax
cmp eax, 0x10
jb 0x1400d83e2
test r15b, 7
jne 0x1400d83e2
shr r15d, 3
dec r15d
lea r14d, [r15*8]
mov dword [rsp + 0x30], r14d
mov r8d, r14d
xor edx, edx
mov rcx, rsi
call fcn.140034c10
lea rcx, [rsp + 0x60]
call fcn.140036f60
mov rdi, rax
mov rcx, rsi
call fcn.140036f60
mov rsi, rax
mov rbx, qword [rdi]
mov qword [rbp + 0x108a0], rbx
movsxd r8, r14d
lea rdx, [rdi + 8]
mov rcx, rax
call fcn.14016a920
mov r12d, 5
lea eax, [r14 - 8]
cdqe
add rax, rsi
mov qword [rsp + 0x48], rax
mov rsi, rax
mov edi, r15d
cmp r15d, 1
jl 0x1400d8355
movzx eax, r12b
movzx r14d, r15b
imul r14d, eax
nop word [rax + rax]
mov qword [rsp + 0x38], rbx
lea eax, [rdi + r14]
shr rbx, 0x38
xor al, bl
mov byte [rsp + 0x3f], al
mov rax, qword [rsi]
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x38]
lea rcx, [rbp + 0x80]
call fcn.1400d8ee0
mov rbx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
mov qword [rsi], rax
lea rsi, [rsi - 8]
dec edi
cmp edi, 1
jge 0x1400d8300
mov qword [rbp + 0x108a0], rbx
mov rax, qword [rsp + 0x48]
sub r12d, 1
jns 0x1400d82e2
mov bl, 1
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.1400372d0
cmp eax, dword [rsp + 0x30]
je 0x1400d83a2
mov rax, qword [r13]
lea rdx, str.Output_is_not_the_expected_size.
mov rcx, r13
call qword [rax + 0x28]
mov rcx, rdi
call fcn.1400372d0
mov r8d, eax
lea rdx, str.outNumBytes
mov rcx, r13
call fcn.1400717d0
xor bl, bl
xor r14d, r14d
jmp 0x1400d83d9
xor r14d, r14d
mov ecx, r14d
nop dword [rax + rax]
movsxd rax, ecx
cmp byte [rbp + rax + 0x108a0], 0xa6
jne 0x1400d83c6
inc ecx
cmp ecx, 8
jl 0x1400d83b0
jmp 0x1400d83d9
mov rax, qword [r13]
lea rdx, str.KEK_is_not_the_correct_key.
mov rcx, r13
call qword [rax + 0x28]
xor bl, bl
lea r12, vtable._ckSymSettings.0
jmp 0x1400d8407
mov rax, qword [r13]
lea rdx, str.Key_data_must_be_a_multiple_of_8_bytes_in_length.
mov rcx, r13
call qword [rax + 0x28]
mov r8d, r15d
lea rdx, str.keyDataLen
mov rcx, r13
call fcn.1400717d0
xor bl, bl
lea rcx, [rsp + 0x60]
call fcn.1400344a0
nop
lea rax, vtable._ckCryptContext.0
mov qword [rbp + 0x340], rax
mov rcx, qword [rbp + 0x358]
test rcx, rcx
je 0x1400d8438
call fcn.14006fa10
mov qword [rbp + 0x358], r14
lea rcx, [rbp + 0x7e0]
call fcn.14013b280
lea rcx, [rbp + 0x390]
call fcn.14013b290
lea rcx, [rbp + 0x360]
call fcn.1400344a0
nop
mov qword [rbp - 0x70], r12
lea rcx, [rbp + 0x40]
call fcn.1400344a0
lea rcx, [rbp + 0x10]
call fcn.1400344a0
lea rcx, [rbp - 0x20]
call fcn.1400344a0
lea rcx, [rbp - 0x58]
call fcn.1400344a0
nop
lea rcx, [rbp + 0x80]
call fcn.1400dbb00
movzx eax, bl
mov rcx, qword [rbp + 0x108a8]
xor rcx, rsp
call fcn.140168e10
add rsp, 0x109b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret