Function at 0x1400d0cf0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rbx, qword [rsp + 0xc0]
mov qword [rcx], 0
mov r10, rdx
mov r14, r9
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xb0], r8
mov qword [rdx], 0
test r9, r9
je 0x1400d12a0
test rbx, rbx
je 0x1400d12a0
mov rax, qword [r8 + 0x10]
or rax, rbx
shr rax, 0x20
jne 0x1400d1334
mov eax, 0xffffffdc
cmp rax, qword [rsp + 0xc8]
jb 0x1400d1334
mov rax, qword [rsp + 0xc8]
mov ecx, 0x2000
mov r12d, 0x2000
sub rax, 1
cmp rax, 0x1fff
jbe 0x1400d12b0
mov rax, qword [0x14019f130]
mov qword [rsp + 0xa8], r10
mov r8d, 0x13
lea rdx, [0x1401959b3]
call qword [rax]
mov r15, rax
test rax, rax
je 0x1400d12cc
mov rax, qword [rsp + 0xb0]
xor edx, edx
mov r10, qword [rsp + 0xa8]
mov rcx, qword [rax + 0x10]
cmp ecx, 0x7f
mov eax, ecx
jbe 0x1400d12d6
mov r8d, eax
mov ecx, edx
shr eax, 7
add edx, 1
or r8d, 0xffffff80
mov byte [r15 + rcx], r8b
cmp eax, 0x7f
ja 0x1400d0dd0
add ecx, 2
add rdx, r15
mov rsi, rcx
mov byte [rdx], al
mov eax, ebx
cmp ebx, 0x7f
jbe 0x1400d0e18
nop word [rax + rax]
mov ecx, eax
mov edx, esi
shr eax, 7
add esi, 1
or ecx, 0xffffff80
mov byte [r15 + rdx], cl
cmp eax, 0x7f
ja 0x1400d0e00
mov ecx, esi
mov byte [r15 + rcx], al
mov rax, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x40], rax
add rax, qword [rdi + 0x10]
mov qword [rsp + 0x30], rax
lea rax, [r14 + rbx]
mov rdi, rax
mov qword [rsp + 0x38], rax
lea eax, [rsi + 2]
cmp r14, rdi
jae 0x1400d1279
movzx ebx, byte [r14]
mov r8, qword [rsp + 0x38]
add r14, 1
add esi, 3
mov ebp, 1
mov byte [r15 + rax], bl
cmp r14, r8
jae 0x1400d134a
lea r11, [0x14019f4e0]
jmp 0x1400d0e8d
cmp r14, r8
jae 0x1400d0eb4
movzx eax, byte [r14]
mov edx, ebx
mov ecx, esi
shl ebx, 8
shr edx, 0x17
add ebp, 1
add esi, 1
add r14, 1
or ebx, eax
mov byte [r15 + rcx], al
xor ebx, dword [r11 + rdx*4]
cmp ebp, 0xf
jbe 0x1400d0e88
mov rax, qword [rsp + 0x38]
cmp r14, rax
jae 0x1400d134a
mov qword [rsp + 0xa8], r10
xor edi, edi
xor r13d, r13d
jmp 0x1400d1041
test ebp, ebp
jne 0x1400d1160
mov ecx, r13d
mov r8d, r13d
mov edx, esi
movzx ebp, r13b
and ecx, 0xff0000
and r8d, 0xff00
mov eax, edi
add esi, 1
mov dword [rsp + 0x28], ecx
mov edi, 0x10000
mov r10d, edx
mov r9d, pe_nt_image_headers64
cmp eax, edi
cmovae edi, eax
add r10, r15
sub edi, 0x10000
sub eax, edi
test ebp, ebp
je 0x1400d0f31
mov byte [r15 + rsi], r13b
mov r9d, 0x81
lea esi, [rdx + 2]
test r8d, r8d
je 0x1400d0f49
mov ecx, r13d
mov edx, esi
or r9d, 2
add esi, 1
movzx ecx, ch
mov byte [r15 + rdx], cl
mov edx, dword [rsp + 0x28]
test edx, edx
je 0x1400d0f64
mov ecx, r13d
mov edx, esi
or r9d, 4
add esi, 1
shr ecx, 0x10
mov byte [r15 + rdx], cl
cmp r13d, 0xffffff
jbe 0x1400d0f80
mov ecx, r13d
mov edx, esi
or r9d, 8
add esi, 1
shr ecx, 0x18
mov byte [r15 + rdx], cl
test al, al
je 0x1400d0f91
mov edx, esi
or r9d, 0x10
add esi, 1
mov byte [r15 + rdx], al
test ah, 0xff
je 0x1400d0fa6
mov edx, esi
movzx ecx, ah
or r9d, 0x20
add esi, 1
mov byte [r15 + rdx], cl
mov edx, eax
mov byte [r10], r9b
add r13d, eax
xor ebp, ebp
add r14, rdx
cmp edi, 0xfff
jbe 0x1400d1200
lea eax, [r12 - 0x22]
cmp esi, eax
jb 0x1400d1033
lea r12d, [r12 + r12*2]
shr r12d, 1
cmp qword [rsp + 0xc8], 0
je 0x1400d1003
mov eax, dword [rsp + 0xc8]
mov edx, r12d
add eax, 0x23
cmp rdx, qword [rsp + 0xc8]
cmovae r12d, eax
mov eax, esi
cmp qword [rsp + 0xc8], rax
jb 0x1400d12c2
mov rax, qword [0x14019f130]
mov edx, r12d
mov r9d, 0x1d
mov rcx, r15
lea r8, [0x1401959b3]
call qword [rax + 8]
lea r11, [0x14019f4e0]
test rax, rax
je 0x1400d1231
mov r15, rax
mov rax, qword [rsp + 0x38]
cmp r14, rax
jae 0x1400d1262
cmp edi, 0xfff
ja 0x1400d0ed8
movzx eax, byte [r14 - 0x10]
lea rcx, [0x14019f8e0]
xor ebx, dword [rcx + rax*4]
movzx ecx, byte [r14]
mov edx, ebx
shr ebx, 0x17
shl edx, 8
mov eax, ecx
or edx, ecx
mov rcx, qword [rsp + 0xb0]
xor edx, dword [r11 + rbx*4]
mov ebx, edx
and edx, dword [rcx + 0x18]
mov r8, qword [rcx + rdx*8 + 0x20]
test r8, r8
je 0x1400d112d
mov r10, qword [rsp + 0x38]
mov byte [rsp + 0x4f], al
sub r10, r14
jmp 0x1400d10a9
mov r8, qword [r8 + 0x10]
test r8, r8
je 0x1400d1128
cmp dword [r8 + 8], ebx
jne 0x1400d10a0
mov r9, qword [r8]
mov rcx, qword [rsp + 0x30]
sub rcx, r9
cmp r10d, ecx
cmovbe ecx, r10d
cmp edi, ecx
jae 0x1400d1128
mov ecx, ecx
mov qword [rsp + 0x28], r8
mov rax, r14
mov rdx, r9
add rcx, r14
jmp 0x1400d10e9
add rdx, 1
cmp rcx, rax
je 0x1400d10f7
add rax, 1
movzx r8d, byte [rdx]
cmp byte [rax - 1], r8b
je 0x1400d10e0
sub rdx, r9
mov r8, qword [rsp + 0x28]
cmp edi, edx
jae 0x1400d10a0
mov eax, dword [rsp + 0x40]
mov r13d, r9d
sub r13d, eax
cmp edx, 0xfff
ja 0x1400d12a4
mov r8, qword [r8 + 0x10]
mov edi, edx
test r8, r8
jne 0x1400d10a9
nop dword [rax]
movzx eax, byte [rsp + 0x4f]
cmp edi, 3
ja 0x1400d0ed8
add r14, 1
lea edx, [rsi + 1]
test ebp, ebp
jne 0x1400d11d8
mov byte [r15 + rdx], al
add esi, 2
mov ebp, 1
xor edi, edi
jmp 0x1400d0fbf
mov edi, eax
mov r13d, r9d
mov esi, r10d
lea r10d, [rsi - 1]
test r13d, r13d
je 0x1400d12e8
mov rcx, qword [rsp + 0x40]
lea eax, [r13 - 1]
movzx edx, byte [r14 - 1]
mov r9, rax
cmp byte [rcx + rax], dl
jne 0x1400d1307
lea eax, [rdi + 1]
sub r14, 1
sub ebp, 1
jne 0x1400d1158
mov ecx, r9d
mov r8d, r9d
lea edx, [rsi - 2]
movzx ebp, r9b
and ecx, 0xff0000
mov esi, r10d
mov r13d, r9d
and r8d, 0xff00
mov dword [rsp + 0x28], ecx
mov r10d, 0xffffffff
mov r9d, 0xffffffff
lea edi, [rdx - 1]
sub edi, r9d
mov byte [r15 + rdi], r10b
jmp 0x1400d0f02
mov ecx, esi
add ebp, 1
mov byte [r15 + rcx], al
cmp ebp, 0x7f
jne 0x1400d1259
lea eax, [rsi - 0x7f]
xor ebp, ebp
mov esi, edx
xor edi, edi
mov byte [r15 + rax], 0x7f
jmp 0x1400d0fbf
movzx ebx, byte [r14 - 0x10]
lea rax, [r14 - 0xf]
nop dword [rax]
movzx ecx, byte [rax]
mov edx, ebx
add rax, 1
shl ebx, 8
shr edx, 0x17
or ebx, ecx
xor ebx, dword [r11 + rdx*4]
cmp r14, rax
jne 0x1400d1210
xor ebp, ebp
jmp 0x1400d0fbf
call fcn.1400da310
mov rax, qword [0x14019f130]
mov rcx, r15
call qword [rax + 0x10]
mov eax, 0xffffffff
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov esi, edx
xor edi, edi
jmp 0x1400d0fbf
mov r10, qword [rsp + 0xa8]
mov eax, esi
test ebp, ebp
je 0x1400d1279
sub esi, 1
sub esi, ebp
mov byte [r15 + rsi], bpl
cmp qword [rsp + 0xc8], 0
je 0x1400d1292
cmp qword [rsp + 0xc8], rax
jb 0x1400d1358
mov qword [r10], rax
mov rax, qword [rsp + 0xa0]
mov qword [rax], r15
xor eax, eax
jmp 0x1400d1248
movzx eax, byte [rsp + 0x4f]
mov edi, edx
jmp 0x1400d112d
mov eax, dword [rsp + 0xc8]
lea ecx, [rax + 0x23]
mov r12, rcx
jmp 0x1400d0d85
mov r10, qword [rsp + 0xa8]
jmp 0x1400d126c
call fcn.1400da310
jmp 0x1400d1243
mov rdx, r15
mov ecx, 1
mov esi, 1
jmp 0x1400d0df1
mov r9d, ebp
mov r10d, ebp
mov edx, esi
mov dword [rsp + 0x28], 0
xor r8d, r8d
xor ebp, ebp
mov eax, edi
add esi, 1
jmp 0x1400d11c3
mov ecx, r13d
mov r8d, r13d
mov r9d, ebp
mov r10d, ebp
and ecx, 0xff0000
mov edx, esi
movzx ebp, r13b
mov eax, edi
mov dword [rsp + 0x28], ecx
and r8d, 0xff00
add esi, 1
jmp 0x1400d11c3
lea rdx, str.buffer_sizes_too_large_for_delta_processing
mov ecx, 3
call fcn.1400da2e0
jmp 0x1400d1243
mov eax, esi
jmp 0x1400d1270
lea rdx, str.delta_would_be_larger_than_maximum_size
mov ecx, 1
call fcn.1400da2e0
mov rax, qword [0x14019f130]
mov rcx, r15
call qword [rax + 0x10]
mov eax, 0xfffffffa
jmp 0x1400d1248