Function at 0x18001b5b0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov dword [rsp + 0x20], r9d
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rsi, rcx
mov r12, r8
mov ecx, dword [rsp + 0x78]
mov r14d, ecx
lea eax, [rcx + rcx*4]
shl eax, 3
mov dword [rsp + 0x20], eax
cmp ecx, eax
ja 0x18001b8fa
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x28]
mov ebp, dword [rsp + 0x78]
mov r13d, dword [rsp + 0x78]
mov r15d, dword [rsp + 0x78]
movabs rdx, 0xaaaaaaaaaaaaaaab
cmp r14d, 0x30c
ja 0x18001b6bb
je 0x18001b8e3
mov eax, r14d
sub eax, 8
je 0x18001b682
sub eax, 0x28
je 0x18001b8d6
sub eax, 0x52
je 0x18001b66d
cmp eax, 0x23
jne 0x18001b8c2
mov rcx, qword [rsi + 0x10]
mov rax, rdx
add rcx, 2
xor r8d, r8d
mul rcx
mov rcx, r12
shr rdx, 1
shl rdx, 2
call fcn.18006ccf0
mov ecx, dword [rsp + 0x78]
jmp 0x18001b8c2
cmp dword [r12], 1
jne 0x18001b8c2
mov byte [rsp + 0x20], 1
jmp 0x18001b8fa
mov qword [r12 + 0x10], 1
mov dword [r12], 0x14
inc qword [rsi + 0xd0]
mov rax, qword [rsi + 0xc0]
test rax, rax
je 0x18001b8c2
mov rdx, r12
mov rcx, rsi
call rax
mov ecx, dword [rsp + 0x78]
jmp 0x18001b8c2
cmp r14d, 0x3de
je 0x18001b8a6
cmp r14d, 0x717
je 0x18001b891
cmp r14d, 0xa50
jne 0x18001b8c2
mov r10, qword [rsp + 0x28]
xor r9d, r9d
test r10, r10
je 0x18001b7b5
mov rax, rdx
lea rcx, [r10 - 1]
mul rcx
shr rdx, 1
inc rdx
lea r9, [rdx + rdx*2]
nop word [rax + rax]
mov r8d, 0x9c
mov eax, r8d
sub eax, 0x9b
je 0x18001b793
cmp eax, 1
jne 0x18001b797
mov rax, qword [0x180290730]
movzx ecx, byte [rdi]
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov byte [rbx], cl
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
mov rax, qword [0x180290730]
movzx ecx, byte [rcx + rax]
mov byte [rbx + 1], cl
movzx ecx, byte [rdi + 1]
movzx eax, byte [rdi + 2]
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x180290730]
movzx ecx, byte [rcx + rax]
mov byte [rbx + 2], cl
movzx ecx, byte [rdi + 2]
mov rax, qword [0x180290730]
and ecx, 0x3f
movzx ecx, byte [rcx + rax]
mov byte [rbx + 3], cl
add rbx, 4
jmp 0x18001b797
add rdi, 3
dec r8d
cmp r8d, 0x9a
ja 0x18001b716
sub rdx, 1
jne 0x18001b710
mov ecx, dword [rsp + 0x78]
cmp r9, qword [rsi + 0x10]
jae 0x18001b8c2
mov r8d, 0x10
nop word [rax + rax]
mov eax, r8d
sub eax, 0x10
je 0x18001b868
sub eax, 1
je 0x18001b82d
sub eax, 1
je 0x18001b7fa
cmp eax, 1
jne 0x18001b87e
mov byte [rbx], 0x3d
inc rbx
jmp 0x18001b87e
lea rax, [r9 + 1]
cmp rax, qword [rsi + 0x10]
jae 0x18001b824
mov ecx, ebp
mov eax, r13d
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x180290730]
movzx edx, byte [rcx + rax]
mov byte [rbx], dl
inc rbx
jmp 0x18001b87e
mov dl, 0x3d
mov byte [rbx], dl
inc rbx
jmp 0x18001b87e
mov rax, qword [0x180290730]
xor r13d, r13d
mov ecx, r15d
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov eax, ebp
mov byte [rbx], cl
mov ecx, r15d
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
mov rax, qword [0x180290730]
movzx ecx, byte [rcx + rax]
mov byte [rbx + 1], cl
add rbx, 2
jmp 0x18001b87e
movzx r15d, byte [rdi]
lea rax, [r9 + 1]
cmp rax, qword [rsi + 0x10]
jae 0x18001b87c
movzx ebp, byte [rdi + 1]
jmp 0x18001b87e
xor ebp, ebp
inc r8d
cmp r8d, 0x14
jb 0x18001b7d0
mov ecx, dword [rsp + 0x78]
jmp 0x18001b8c2
mov rax, rdx
mul qword [rsi + 0x10]
shr rdx, 1
lea rax, [rdx + rdx*2]
mov qword [rsp + 0x28], rax
jmp 0x18001b8c2
cmp qword [rsi + 0x18], 0x10
mov rdi, rsi
jb 0x18001b8b3
mov rdi, qword [rsi]
cmp qword [r12 + 0x18], 0x10
mov rbx, r12
jb 0x18001b8c2
mov rbx, qword [r12]
lea eax, [r14 + rcx]
lea r14d, [rax + rcx*4]
cmp r14d, dword [rsp + 0x20]
ja 0x18001b8fa
jmp 0x18001b608
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
jmp 0x18001b8ff
xor r9d, r9d
xor r8d, r8d
mov edx, 0x132
mov rcx, rsi
call fcn.180021460
mov byte [rsp + 0x20], al
mov rax, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret