Function at 0x180001000
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
cmp r8, 3
jb 0x1800010d0
movabs rax, 0x4efd74d86a8d366d
mov rbx, r8
sub rbx, rax
lea r10, [rbx + rax]
add r10, 0xfffffffffffffffe
xor r9d, r9d
lea r11, str.AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZaaaabbbbccccddddeeeeffffgggghhhhiiiijjjjkkkkllllmmmmnnnnooooppppqqqqrrrrssssttttuuuuvvvvwwwwxxxxyyyyzzzz0000111122223333444455556666777788889999____ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
lea r14, [0x18000e400]
mov rax, rcx
nop dword [rax]
movzx esi, byte [rdx + r9]
movzx r12d, byte [rdx + r9 + 1]
movzx r13d, byte [rdx + r9 + 2]
movzx ebx, byte [rsi + r11]
mov byte [rax], bl
shl sil, 4
and sil, 0x30
movzx esi, sil
mov ebx, r12d
shr ebx, 4
mov ebp, ebx
not ebp
mov edi, esi
not edi
and ebp, 0xd86e5cab
and ebx, 4
or ebx, ebp
and edi, 0xd86e5cab
and esi, 0x10
or esi, edi
xor esi, ebx
movzx ebx, byte [rsi + r15]
mov byte [rax + 1], bl
and r12d, 0xf
movzx edi, byte [r13 + r14]
shr r13, 6
lea esi, [r13 + r12*4]
movzx ebx, byte [rsi + r15]
mov byte [rax + 2], bl
mov byte [rax + 3], dil
add rax, 4
add r9, 3
cmp r9, r10
jb 0x180001050
jmp 0x1800010d6
xor r9d, r9d
mov rax, rcx
movabs rbp, 0xa5c0123aefeeeead
add r8, rbp
sub r8, r9
sub r8, rbp
test r8, r8
jle 0x180001121
cmp r8, 1
jne 0x180001123
movzx edx, byte [rdx + r9]
lea rbp, str.AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZaaaabbbbccccddddeeeeffffgggghhhhiiiijjjjkkkkllllmmmmnnnnooooppppqqqqrrrrssssttttuuuuvvvvwwwwxxxxyyyyzzzz0000111122223333444455556666777788889999____ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov bl, byte [rdx + rbp]
mov byte [rax], bl
shl dl, 4
and dl, 0x30
movzx edx, dl
lea rbp, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov dl, byte [rdx + rbp]
mov byte [rax + 1], dl
mov byte [rax + 2], 0x3d
jmp 0x180001184
je 0x18000118c
movzx ebp, byte [rdx + r9]
movabs rbx, 0xaf56b439e1935dea
sub r9, rbx
add r9, rdx
movzx esi, byte [rbx + r9 + 1]
movzx ebx, sil
lea rdi, str.AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZaaaabbbbccccddddeeeeffffgggghhhhiiiijjjjkkkkllllmmmmnnnnooooppppqqqqrrrrssssttttuuuuvvvvwwwwxxxxyyyyzzzz0000111122223333444455556666777788889999____ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov dl, byte [rbp + rdi]
mov byte [rax], dl
shl bpl, 4
mov edx, ebp
xor dl, 0xc0
and dl, bpl
movzx edx, dl
shr rbx, 4
or ebx, edx
lea rdx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov dl, byte [rbx + rdx]
mov byte [rax + 1], dl
shl esi, 2
and esi, 0x3c
lea rdx, [0x18000e400]
mov dl, byte [rsi + rdx]
mov byte [rax + 2], dl
mov byte [rax + 3], 0x3d
add rax, 4
mov byte [rax], 0
sub rax, rcx
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret