Function at 0x140005ae4
Capabilities:
Encode data using xor

Disassembly:
mov r8d, r8d
jmp 0x140005ae4
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbx, r8
mov r11, rdx
mov r10d, ecx
test rdx, rdx
jne 0x140005b0d
xor eax, eax
jmp 0x140005e1f
lea r13, [0x140000000]
not r10d
cmp rbx, 0x17
jb 0x140005dac
test r11b, 3
je 0x140005b4b
movzx ecx, byte [r11]
mov eax, r10d
xor rcx, rax
inc r11
shr eax, 8
movzx edx, cl
mov r10d, dword [r13 + rdx*4 + 0x52040]
xor r10d, eax
sub rbx, 1
jne 0x140005b21
xor ebp, ebp
movabs rax, 0xcccccccccccccccd
mul rbx
xor r14d, r14d
xor r15d, r15d
mov rdi, rdx
lea esi, [rbp + 4]
shr rdi, 4
xor r12d, r12d
lea rax, [rdi + rdi*4]
shl rax, 2
sub rbx, rax
sub rdi, 1
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rdi
je 0x140005cee
mov eax, dword [r11]
mov edx, dword [r11 + 8]
xor eax, r10d
mov r9d, dword [r11 + 0x10]
xor edx, r14d
mov ecx, dword [r11 + 4]
xor r9d, r12d
mov r8d, dword [r11 + 0xc]
xor ecx, ebp
mov qword [rsp], rax
xor r8d, r15d
mov rbx, qword [rsp]
add r11, 0x14
movzx eax, al
mov qword [rsp + 0x68], r11
mov r11d, edx
mov r10d, dword [r13 + rax*4 + 0x52440]
mov eax, ecx
mov qword [rsp + 8], rax
mov rdi, qword [rsp + 8]
movzx eax, cl
mov ebp, dword [r13 + rax*4 + 0x52440]
movzx eax, dl
lea rdx, [0x140000000]
mov r14d, dword [r13 + rax*4 + 0x52440]
mov eax, r8d
mov qword [rsp + 0x10], rax
movzx eax, r8b
mov r15d, dword [r13 + rax*4 + 0x52440]
mov eax, r9d
mov qword [rsp + 0x18], rax
movzx eax, r9b
mov r9d, pe_nt_image_headers64
mov r12d, dword [r13 + rax*4 + 0x52440]
mov r13d, 1
mov eax, r13d
inc r13d
shl eax, 3
movsxd r8, eax
mov rax, rbx
mov rcx, r8
shr rax, cl
movzx ecx, al
mov rax, rdi
add rcx, r9
xor r10d, dword [rdx + rcx*4 + 0x52440]
mov rcx, r8
shr rax, cl
movzx ecx, al
mov rax, r11
add rcx, r9
xor ebp, dword [rdx + rcx*4 + 0x52440]
mov rcx, r8
shr rax, cl
movzx edx, al
lea rax, [0x140000000]
add rdx, r9
xor r14d, dword [rax + rdx*4 + 0x52440]
mov rax, qword [rsp + 0x10]
shr rax, cl
movzx edx, al
lea rax, [0x140000000]
add rdx, r9
xor r15d, dword [rax + rdx*4 + 0x52440]
lea rdx, [0x140000000]
mov rax, qword [rsp + 0x18]
shr rax, cl
movzx ecx, al
add rcx, r9
add r9, 0x100
xor r12d, dword [rdx + rcx*4 + 0x52440]
cmp r13d, esi
jl 0x140005c29
sub qword [rsp + 0x78], 1
lea r13, [0x140000000]
mov r11, qword [rsp + 0x68]
jne 0x140005b8c
mov rbx, qword [rsp + 0x70]
lea r13, [0x140000000]
mov r8d, dword [r11]
mov rdx, rsi
xor r8d, r10d
mov eax, r8d
movzx ecx, r8b
shr eax, 8
mov r8d, dword [r13 + rcx*4 + 0x52040]
xor r8d, eax
sub rdx, 1
jne 0x140005cf7
mov edx, dword [r11 + 4]
xor edx, ebp
xor edx, r8d
mov r8, rsi
mov eax, edx
movzx ecx, dl
shr eax, 8
mov edx, dword [r13 + rcx*4 + 0x52040]
xor edx, eax
sub r8, 1
jne 0x140005d1e
mov r8d, dword [r11 + 8]
xor r8d, edx
mov rdx, rsi
xor r8d, r14d
mov eax, r8d
movzx ecx, r8b
shr eax, 8
mov r8d, dword [r13 + rcx*4 + 0x52040]
xor r8d, eax
sub rdx, 1
jne 0x140005d43
mov edx, dword [r11 + 0xc]
xor edx, r8d
mov r8, rsi
xor edx, r15d
mov eax, edx
movzx ecx, dl
shr eax, 8
mov edx, dword [r13 + rcx*4 + 0x52040]
xor edx, eax
sub r8, 1
jne 0x140005d6b
mov r10d, dword [r11 + 0x10]
xor r10d, edx
xor r10d, r12d
mov eax, r10d
movzx ecx, r10b
shr eax, 8
mov r10d, dword [r13 + rcx*4 + 0x52040]
xor r10d, eax
sub rsi, 1
jne 0x140005d8d
add r11, 0x14
cmp rbx, 8
jb 0x140005df0
mov r8, rbx
shr r8, 3
imul rax, r8, 0xfffffffffffffff8
add rbx, rax
mov r9d, 8
movzx ecx, byte [r11]
mov eax, r10d
xor rcx, rax
inc r11
shr eax, 8
movzx edx, cl
mov r10d, dword [r13 + rdx*4 + 0x52040]
xor r10d, eax
sub r9, 1
jne 0x140005dc6
sub r8, 1
jne 0x140005dc0
test rbx, rbx
je 0x140005e19
movzx ecx, byte [r11]
mov eax, r10d
xor rcx, rax
inc r11
shr eax, 8
movzx edx, cl
mov r10d, dword [r13 + rdx*4 + 0x52040]
xor r10d, eax
sub rbx, 1
jne 0x140005df5
not r10d
mov eax, r10d
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret