Function at 0x18006a870
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r14, rdx
mov r15, rcx
lea rdx, [rsp + 0x58]
mov rcx, r8
xor r13b, r13b
call fcn.18006d3f0
xor bpl, bpl
mov byte [r14 + 0x18], al
test al, al
je 0x18006af48
movabs rsi, 0x600060006000000
mov r8, qword [rsp + 0x58]
lea r9, [0x180000000]
movzx eax, bpl
mov r10d, 8
imul rbx, rax, 0x68
add rbx, r14
mov byte [rbx + 0x20], bpl
movzx eax, byte [r8]
shr eax, 6
mov dword [rbx + 0x28], eax
movzx eax, byte [r8 + 1]
and al, 0xf
mov byte [rbx + 0x2c], al
movzx ecx, byte [r8]
and ecx, 0x3f
sub ecx, 1
je 0x18006aa5b
sub ecx, 1
je 0x18006a930
cmp ecx, 1
jne 0x18006ab81
mov dword [rbx + 0x24], 4
mov word [rbx + 0x34], r10w
mov qword [rbx + 0x80], 1
mov word [rbx + 0x78], 0
jmp 0x18006ab81
mov rsi, qword [rsp + 0x58]
mov dword [rbx + 0x24], 2
mov dword [rbx + 0x48], 1
movzx eax, byte [rsi + 9]
shr eax, 3
and eax, 0xf
cdqe
mov ecx, dword [r9 + rax*4 + 0x6af98]
add rcx, r9
jmp rcx
movzx eax, byte [r15 + 0x25]
mov r8d, 2
mov rdx, r14
mov rcx, r15
mov edi, dword [r9 + rax*4 + 0xad5f0]
mov r9d, edi
call fcn.180068f80
jmp 0x18006aa1a
movzx eax, byte [r15 + 0x25]
mov r8d, 4
mov rdx, r14
mov rcx, r15
mov edi, dword [r9 + rax*4 + 0xad5f0]
mov r9d, edi
call fcn.180068f80
jmp 0x18006aa1a
movzx edx, al
mov ecx, edi
call fcn.18006cdb0
mov dword [rbx + 0x50], eax
movzx edx, byte [rsi + 9]
and dl, 7
je 0x18006aa3f
dec dl
mov ecx, 0xd
call fcn.18006cdb0
mov dword [rbx + 0x4c], eax
lea r9, [0x180000000]
movabs rsi, 0x600060006000000
mov r10d, 8
jmp 0x18006ab81
mov rax, qword [rsp + 0x58]
mov dword [rbx + 0x24], 1
movzx eax, byte [rax + 9]
and eax, 7
cdqe
mov ecx, dword [r9 + rax*4 + 0x6afbc]
add rcx, r9
jmp rcx
mov rax, qword [rsp + 0x58]
movzx ecx, word [rax + 0xa]
and ecx, 0x1ff
mov dword [rbx + 0x40], ecx
jmp 0x18006ab81
mov rax, qword [rsp + 0x58]
movzx edx, byte [rax + 0xa]
movzx eax, byte [r15 + 0x24]
mov ecx, dword [r9 + rax*4 + 0xad5e0]
and dl, 0x3f
call fcn.18006cdb0
lea r9, [0x180000000]
mov r10d, 8
jmp 0x18006ab7e
mov dword [rbx + 0x40], eax
mov ecx, dword [rbx + 0x24]
test ecx, ecx
jne 0x18006acf6
mov r8, qword [rsp + 0x58]
movzx eax, byte [r8 + 9]
and eax, 0x3f
mov dword [rbx + 0x30], eax
movzx edx, byte [r8]
and edx, 0x3f
lea eax, [rdx - 4]
cmp eax, 0x12
ja case.default.0x18006abbc
cdqe
mov ecx, dword [r9 + rax*4 + 0x6afd8]
add rcx, r9
jmp rcx
mov edi, 1
jmp 0x18006ac6b
mov edi, 4
jmp 0x18006ac6b
movzx eax, byte [r14 + 0x16]
cmp al, 0x10
jne 0x18006abe5
mov edi, 2
jmp 0x18006ac6b
xor edi, edi
cmp al, 0x20
setne dil
add edi, 3
jmp 0x18006ac6b
movzx eax, byte [r14 + 0x16]
cmp al, 0x10
jne 0x18006abe5
mov edi, 3
jmp 0x18006ac6b
xor edi, edi
cmp byte [r14 + 0x16], 0x10
setne dil
add edi, 2
jmp 0x18006ac6b
movzx eax, byte [r14 + 0x17]
cmp al, 0x10
jne 0x18006abe5
mov edi, 2
jmp 0x18006ac6b
mov edi, 5
jmp 0x18006ac6b
mov edi, 6
jmp 0x18006ac6b
mov edi, 7
jmp 0x18006ac6b
mov edi, r10d
jmp 0x18006ac6b
mov edi, 9
jmp 0x18006ac6b
mov edi, 0xa
jmp 0x18006ac6b
mov edi, 0x12
jmp 0x18006ac6b
mov edi, 0xd
jmp 0x18006ac6b
mov edi, 0xf
jmp 0x18006ac6b
mov edi, 0x10
jmp 0x18006ac6b
mov edi, 0x11
movzx eax, byte [r8 + 9]
and eax, 0x3f
dec eax
cdqe
mov ecx, dword [r9 + rax*4 + 0x6b024]
add rcx, r9
jmp rcx
mov r8d, 2
mov r9d, edi
mov rdx, r14
mov rcx, r15
call fcn.180068f80
mov dword [rbx + 0x24], 1
cmp edi, 1
jne 0x18006ace6
test byte [r14 + 0x430], 4
je 0x18006acba
cmp al, 4
jb 0x18006acba
movzx eax, al
add eax, 5
jmp 0x18006acf0
movzx eax, al
inc eax
jmp 0x18006acf0
mov r8d, 4
jmp 0x18006ac8a
movzx edx, al
mov ecx, edi
call fcn.18006cdb0
mov dword [rbx + 0x40], eax
mov ecx, dword [rbx + 0x24]
cmp ecx, 2
jne 0x18006af21
mov rax, qword [r14 + 0x430]
bt rax, 0x1c
jae 0x18006aeb5
mov dword [rbx + 0x4c], 0xc7
jmp 0x18006af21
add edx, 0xffffffe9
cmp edx, 9
ja case.0x18006ad37.27
movsxd rax, edx
mov ecx, dword [r9 + rax*4 + 0x6b03c]
add rcx, r9
jmp rcx
xor r9d, r9d
lea r8, [rbx + 0x20]
mov rdx, r14
mov rcx, r15
call fcn.18006a570
test eax, eax
js 0x18006af6b
jmp case.0x18006ad37.27
mov r9d, 7
jmp 0x18006ad3c
mov r9d, r10d
jmp 0x18006ad3c
mov r9d, 9
jmp 0x18006ad3c
mov dword [rbx + 0x24], 3
mov eax, dword [r14 + 0x5b8]
mov dword [rbx + 0x74], eax
movzx eax, word [r14 + 0x5d0]
mov word [rbx + 0x70], ax
jmp case.0x18006ad37.27
xor r9d, r9d
mov byte [rbx + 0x2c], 0
lea r8, [rbx + 0x20]
mov rdx, r14
mov rcx, r15
call fcn.18006a570
test eax, eax
js 0x18006af6b
mov dword [rbx + 0x48], 2
jmp case.0x18006ad37.27
mov dword [rbx + 0x24], 2
mov dword [rbx + 0x48], 1
mov byte [rbx + 0x60], 1
mov rax, qword [r14 + 0x5a0]
mov qword [rbx + 0x68], rax
jmp case.0x18006ad37.27
xor r9d, r9d
mov byte [rbx + 0x2c], 0
lea r8, [rbx + 0x20]
mov rdx, r14
mov rcx, r15
call fcn.18006a570
test eax, eax
js 0x18006af6b
mov dword [rbx + 0x48], 3
mov ecx, dword [rbx + 0x24]
test ecx, ecx
je 0x18006ae2f
mov eax, dword [r14 + 0xc]
sub eax, 4
cmp eax, 1
ja 0x18006acf6
cmp byte [r14 + 0x5a8], 8
jne 0x18006acf6
movzx eax, byte [r15 + 0x3c]
imul rax, qword [rbx + 0x68]
mov qword [rbx + 0x68], rax
jmp 0x18006acf6
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rax]
and ecx, 0x3f
sub ecx, 0x1b
je 0x18006ae48
cmp ecx, 1
jne 0x18006af21
mov r8, qword [rsp + 0x58]
mov dword [rbx + 0x24], 4
movzx eax, byte [r15 + 0x24]
movzx edx, r13b
movzx ecx, word [r8 + rax*2 + 2]
shl cx, 3
lea rax, [rdx + 0x3d]
lea rax, [rax + rax*2]
mov word [rbx + 0x34], cx
lea rcx, [r14 + rax*8]
movzx eax, byte [r8 + 9]
and al, 0x3f
cmp al, 5
jne 0x18006ae8a
movzx eax, byte [rcx]
and eax, 0xf
jmp 0x18006ae8d
mov rax, qword [rcx]
mov qword [rbx + 0x80], rax
inc r13b
lea rax, [rdx + rdx*2]
lea rcx, [r14 + rax*8]
movzx eax, byte [rcx + 0x5b0]
mov byte [rbx + 0x78], al
movzx eax, byte [rcx + 0x5b1]
mov byte [rbx + 0x79], al
jmp 0x18006af21
bt rax, 0x1d
jae 0x18006aec5
mov dword [rbx + 0x4c], 0xc8
jmp 0x18006af21
bt rax, 0x1e
jb 0x18006af1a
bt rax, 0x1f
jae 0x18006aedc
mov dword [rbx + 0x4c], 0xc6
jmp 0x18006af21
bt rax, 0x20
jae 0x18006aeec
mov dword [rbx + 0x4c], 0xca
jmp 0x18006af21
bt rax, 0x21
jae 0x18006aefc
mov dword [rbx + 0x4c], 0xcb
jmp 0x18006af21
cmp dword [rbx + 0x4c], 0
jne 0x18006af21
movsxd rax, dword [rbx + 0x50]
cmp eax, 0x3a
ja 0x18006af1a
bt rsi, rax
jae 0x18006af1a
mov dword [rbx + 0x4c], 0xc8
jmp 0x18006af21
mov dword [rbx + 0x4c], 0xc9
mov r9, qword [rsp + 0x58]
lea r8, [rbx + 0x20]
mov rdx, r14
mov rcx, r15
call fcn.18006ca40
add qword [rsp + 0x58], 0xc
inc bpl
cmp bpl, byte [r14 + 0x18]
jb 0x18006a8bb
cmp dword [r14 + 0x4b0], 2
jne 0x18006af66
movzx ecx, byte [r14 + 0x2c]
sub ecx, 2
je 0x18006af88
cmp ecx, 1
jne 0x18006af66
mov byte [r14 + 0x2c], 9
mov eax, 0x100000
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
cmp dword [r14 + 0x24], 2
jne 0x18006af61
mov byte [r14 + 0x2c], 8
jmp 0x18006af66