Function at 0x14003dbf8
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x8a8]
sub rsp, 0x980
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140084ee0]
xor rax, rsp
mov qword [rbp + 0x870], rax
mov rsi, rcx
mov qword [rsp + 0x50], rcx
xor r14d, r14d
mov qword [rbp + 0x60], r14
mov dword [rbp + 0x68], 0x62
lea rcx, [rbp]
call fcn.1400497c4
mov rcx, qword [rsi]
call fcn.140020ec0
mov qword [rsp + 0x78], rax
xor edx, edx
movabs r8, 0x7fffffff7fffffff
mov rcx, qword [rsi]
call fcn.1400412d0
mov ebx, r14d
mov qword [rbp - 0x80], rbx
mov r12d, r14d
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], r14
mov byte [rbp - 0x60], r14b
mov edi, r14d
cmp qword [rsi + 0xd8], r14
jbe 0x14003dcd6
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rsi + 0x120]
cmp qword [rbx + rcx], rax
jne 0x14003dcbe
mov edx, dword [rbx + rcx + 8]
lea rcx, [rbp - 0x80]
call fcn.14003f050
inc rdi
add rbx, 0x10
cmp rdi, qword [rsi + 0xd8]
jb 0x14003dc9d
mov r12, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x80]
mov eax, 0x818
mul r12
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140057794
mov r15, rax
lea r9, [0x14003ed48]
mov r8d, 0x20
mov rdx, qword [rsi + 0x88]
mov rcx, qword [rsi + 0x80]
call fcn.14005c130
mov rdx, qword [rsi + 0xb0]
lea rcx, [rsp + 0x60]
call fcn.14003c16c
nop
mov r10, r14
cmp qword [rsi + 0xb0], r14
jbe 0x14003dda2
mov r9, r14
mov rbx, qword [rsp + 0x60]
mov r8, qword [rsi + 0xa8]
mov rax, qword [rsi + 0x120]
cmp qword [r9 + r8], rax
jne 0x14003dd8e
mov r8, qword [r9 + r8 + 8]
mov rdx, r8
shr rdx, 3
and rdx, qword [rsp + 0x70]
movzx ecx, byte [rdx + rbx]
mov eax, r8d
and eax, 7
bts ecx, eax
mov byte [rdx + rbx], cl
shr r8, 0x1e
mov rcx, r8
shr rcx, 3
and rcx, qword [rsp + 0x70]
movzx eax, byte [rcx + rbx]
and r8d, 7
bts eax, r8d
mov byte [rcx + rbx], al
inc r10
add r9, 0x28
cmp r10, qword [rsi + 0xb0]
jb 0x14003dd3a
mov rbx, qword [rbp - 0x80]
lea rcx, [rbp + 0x70]
call fcn.140017b84
mov r13d, r14d
mov dword [rsp + 0x48], 0x7fffffff
mov r8d, r14d
test r12, r12
je 0x14003de51
mov rax, r14
mov esi, 0x7fffffff
jmp 0x14003ddcf
xor r14d, r14d
imul r11, rax, 0x818
mov eax, dword [rbx + rax*4]
mov dword [r11 + r15], eax
cmp eax, r13d
cmova r13d, eax
cmp eax, esi
cmovb esi, eax
mov byte [r11 + r15 + 0x810], r14b
mov r9, r14
lea r10, [r15 + 8]
add r10, r11
mov r14d, pe_nt_image_headers64
movzx eax, r9b
mov rdx, qword [rbp + rax*8 + 0x70]
cmp dword [r11 + r15], 0
jbe 0x14003de2d
mov edi, dword [r11 + r15]
movzx eax, dl
mov rcx, rdx
shr rcx, 8
mov rdx, qword [rbp + rax*8 + 0x70]
xor rdx, rcx
sub rdi, 1
jne 0x14003de15
mov qword [r10], rdx
inc r9
add r10, 8
sub r14, 1
jne 0x14003de01
inc r8d
mov eax, r8d
cmp rax, r12
jb 0x14003ddcc
mov dword [rsp + 0x48], esi
mov rsi, qword [rsp + 0x50]
mov ebx, 0x400000
mov ecx, ebx
call fcn.140057794
mov r14, rax
mov qword [rsp + 0x50], rax
mov rcx, qword [rsi]
mov r9, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [r9 + 0x20]
mov rcx, qword [rsi]
mov r9, qword [rcx]
mov r8d, ebx
mov rdx, r14
call qword [r9 + 0x18]
movsxd rcx, eax
mov qword [rsp + 0x30], rcx
xor edi, edi
test r12, r12
je 0x14003dece
xor eax, eax
imul rbx, rax, 0x818
mov r8d, dword [rbx + r15]
cmp rcx, r8
jb 0x14003dec5
mov rdx, r14
xor ecx, ecx
call fcn.1400179c4
mov qword [rbx + r15 + 0x808], rax
mov byte [rbx + r15 + 0x810], 1
mov rcx, qword [rsp + 0x30]
inc edi
mov eax, edi
cmp rax, r12
jb 0x14003de95
xor r11d, r11d
mov qword [rsp + 0x40], r11
xor edi, edi
mov edx, r13d
mov qword [rsp + 0x38], rdx
lea rax, [rdi + 0x40]
cmp rax, rcx
jae 0x14003dfef
cmp byte [rdi + r14], 0x7b
jne 0x14003dfef
cmp byte [rdi + r14 + 1], 0x52
jne 0x14003dfef
cmp byte [rdi + r14 + 2], 0x42
jne 0x14003dfef
cmp byte [rdi + r14 + 3], 0x7d
jne 0x14003dfef
cmp byte [rdi + r14 + 0x14], 1
jne 0x14003dfef
mov ebx, dword [rdi + r14 + 0xc]
lea rax, [rdx + rbx]
add rax, rdi
cmp rax, rcx
jae 0x14003dfef
mov rax, qword [rsi + 0x120]
mov qword [rbp - 0x28], rax
lea rax, [rdi + r11]
mov qword [rbp - 0x18], rax
lea rax, [0x14003ed48]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
mov r8, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x80]
lea rcx, [rbp - 0x28]
call fcn.14005eabc
mov rcx, qword [rsp + 0x30]
test rax, rax
je 0x14003dfef
add rdi, rbx
xor r13d, r13d
test r12, r12
mov rdx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
je 0x14003dee0
xor eax, eax
lea rcx, [rdi + r14]
mov r14, rcx
imul rbx, rax, 0x818
mov r8d, dword [rbx + r15]
mov rdx, r14
xor ecx, ecx
call fcn.1400179c4
mov qword [rbx + r15 + 0x808], rax
mov byte [rbx + r15 + 0x810], 1
inc r13d
mov eax, r13d
cmp rax, r12
jb 0x14003dfa5
mov r14, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
jmp 0x14003dee0
xor r13d, r13d
xor ebx, ebx
test r12, r12
je 0x14003e182
xor eax, eax
mov r14, qword [rsp + 0x60]
imul r9, rax, 0x818
cmp byte [r9 + r15 + 0x810], 0
je 0x14003e102
mov r8, qword [r9 + r15 + 0x808]
mov qword [rbp - 0x48], r8
mov cl, r8b
and cl, 7
mov edx, 1
shl edx, cl
mov rax, r8
shr rax, 3
and rax, qword [rsp + 0x70]
mov al, byte [rax + r14]
test al, dl
je 0x14003e102
shr r8, 0x1e
mov cl, r8b
and cl, 7
mov edx, 1
shl edx, cl
shr r8, 3
and r8, qword [rsp + 0x70]
test byte [r8 + r14], dl
je 0x14003e102
mov rax, qword [rsi + 0x120]
mov qword [rbp - 0x50], rax
mov eax, dword [r9 + r15]
mov dword [rbp - 0x30], eax
lea rax, [0x14003ecf8]
mov qword [rsp + 0x20], rax
mov r9d, 0x28
mov r8, qword [rsi + 0xb0]
mov rdx, qword [rsi + 0xa8]
lea rcx, [rbp - 0x50]
call fcn.14005eabc
mov r9, rax
test rax, rax
je 0x14003e102
mov r8, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp r8, rcx
jbe 0x14003e0c7
mov rdx, r8
sub rdx, rcx
jmp 0x14003e0cd
mov rdx, rcx
sub rdx, r8
mov r11, qword [rsp + 0x40]
lea r10, [rdi + r11]
cmp r10, rcx
jbe 0x14003e0e6
mov rax, rdi
sub rax, rcx
add rax, r11
jmp 0x14003e0ef
mov rax, rcx
sub rax, rdi
sub rax, r11
cmp r8, 0xffffffffffffffff
je 0x14003e0fa
cmp rax, rdx
jae 0x14003e102
mov qword [r9 + 0x18], r10
mov r13d, dword [rbp - 0x30]
inc ebx
mov eax, ebx
cmp rax, r12
jb 0x14003e004
mov r14, qword [rsp + 0x50]
mov r8, qword [rsp + 0x38]
test r13d, r13d
je 0x14003e17b
mov ecx, r13d
lea rax, [rcx + r8]
add rax, rdi
cmp rax, qword [rsp + 0x30]
jae 0x14003e17b
cmp byte [rdi + r14], 0
je 0x14003e17b
add rdi, rcx
xor r13d, r13d
xor eax, eax
lea rcx, [rdi + r14]
mov r14, rcx
imul rbx, rax, 0x818
mov r8d, dword [rbx + r15]
mov rdx, r14
xor ecx, ecx
call fcn.1400179c4
mov qword [rbx + r15 + 0x808], rax
mov byte [rbx + r15 + 0x810], 1
inc r13d
mov eax, r13d
cmp rax, r12
jb 0x14003e145
jmp 0x14003dfd6
mov rcx, qword [rsp + 0x30]
jmp 0x14003e187
mov r8, qword [rsp + 0x38]
lea rax, [r8 + rdi]
cmp rax, rcx
jb 0x14003e208
mov rbx, rcx
sub rbx, rdi
cmp rbx, r8
jne 0x14003e1fc
call fcn.140048980
lea rdx, [rdi + r14]
mov r8, rbx
mov rcx, r14
call fcn.1400595f0
xor edi, edi
mov rdx, qword [rsp + 0x30]
sub rdx, rbx
mov r13, qword [rsp + 0x40]
add r13, rdx
mov qword [rsp + 0x40], r13
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 0x400000
sub r8, rbx
lea rdx, [rbx + r14]
call qword [rax + 0x18]
movsxd rdx, eax
add rdx, rbx
mov qword [rsp + 0x30], rdx
mov r8, qword [rsp + 0x78]
mov rdx, r13
mov rcx, qword [rsi]
call fcn.1400412d0
mov rcx, qword [rsp + 0x30]
mov eax, dword [rsp + 0x48]
add rax, rdi
cmp rax, rcx
jae 0x14003e284
xor r10d, r10d
test r12, r12
je 0x14003e27c
xor r8d, r8d
imul r9, r8, 0x818
mov r11d, dword [r9 + r15]
add r11, rdi
cmp r11, rcx
jae 0x14003e268
mov rdx, qword [r9 + r15 + 0x808]
movzx ecx, byte [rdi + r14]
imul rax, r8, 0x103
add rcx, rax
movzx eax, byte [r11 + r14]
xor rax, rdx
movzx eax, al
mov rcx, qword [r15 + rcx*8 + 8]
xor rcx, qword [rbp + rax*8 + 0x70]
shr rdx, 8
xor rcx, rdx
mov qword [r9 + r15 + 0x808], rcx
mov rcx, qword [rsp + 0x30]
jmp 0x14003e271
mov byte [r9 + r15 + 0x810], 0
inc r10d
mov r8d, r10d
cmp r8, r12
jb 0x14003e213
inc rdi
jmp 0x14003dfe0
mov rcx, r14
call fcn.14005778c
mov rcx, r15
call fcn.14005778c
mov edx, 0x64
mov r8d, edx
mov rcx, qword [rsi]
call fcn.1400412d0
nop
mov edx, 1
mov rcx, qword [rsp + 0x60]
call fcn.14005778c
nop
lea rcx, [rbp - 0x80]
call fcn.1400013e4
mov rcx, qword [rbp + 0x870]
xor rcx, rsp
call fcn.140057920
lea r11, [rsp + 0x980]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret