Function at 0x14001b1f0
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 rsi, rdx
mov r14, rcx
lea rdx, [rsp + 0x58]
mov rcx, r8
xor r12b, r12b
call fcn.14001dc70
xor bpl, bpl
mov byte [rsi + 0x18], al
test al, al
je 0x14001b8bd
lea r13, [0x140000000]
movabs rdi, 0x600060006000000
mov r8, qword [rsp + 0x58]
mov r10d, 8
movzx eax, bpl
imul rbx, rax, 0x68
add rbx, rsi
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 0x14001b3ce
sub ecx, 1
je 0x14001b2af
cmp ecx, 1
jne 0x14001b4d8
mov dword [rbx + 0x24], 4
mov word [rbx + 0x34], r10w
mov qword [rbx + 0x80], 1
mov word [rbx + 0x78], 0
jmp 0x14001b4d8
mov rdi, qword [rsp + 0x58]
mov dword [rbx + 0x24], 2
mov dword [rbx + 0x48], 1
movzx eax, byte [rdi + 9]
shr eax, 3
and eax, 0xf
cdqe
mov ecx, dword [r13 + rax*4 + 0x1b908]
add rcx, r13
jmp rcx
movzx eax, byte [r14 + 0x25]
mov r8d, 2
mov rdx, rsi
mov rcx, r14
mov r9d, dword [r13 + rax*4 + 0x40f88]
call fcn.140019a90
jmp 0x14001b393
movzx eax, byte [r14 + 0x25]
mov r8d, 4
mov rdx, rsi
mov rcx, r14
mov r9d, dword [r13 + rax*4 + 0x40f88]
call fcn.140019a90
jmp 0x14001b393
movzx edx, al
mov ecx, r9d
call fcn.14001d630
mov dword [rbx + 0x50], eax
movzx edx, byte [rdi + 9]
and dl, 7
je 0x14001b3b9
dec dl
mov ecx, 0xd
call fcn.14001d630
mov dword [rbx + 0x4c], eax
movabs rdi, 0x600060006000000
mov r10d, 8
jmp 0x14001b4d8
mov rax, qword [rsp + 0x58]
mov dword [rbx + 0x24], 1
movzx eax, byte [rax + 9]
and eax, 7
cdqe
mov ecx, dword [r13 + rax*4 + 0x1b92c]
add rcx, r13
jmp rcx
mov rax, qword [rsp + 0x58]
movzx ecx, word [rax + 0xa]
and ecx, 0x1ff
mov dword [rbx + 0x44], ecx
jmp 0x14001b4d8
mov rax, qword [rsp + 0x58]
movzx edx, byte [rax + 0xa]
movzx eax, byte [r14 + 0x24]
and dl, 0x3f
mov ecx, dword [r13 + rax*4 + 0x40f78]
call fcn.14001d630
mov r10d, 8
jmp 0x14001b4d5
mov dword [rbx + 0x44], eax
mov edx, dword [rbx + 0x24]
test edx, edx
jne 0x14001b66c
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.0x14001b513
cdqe
mov ecx, dword [r13 + rax*4 + 0x1b948]
add rcx, r13
jmp rcx
mov r9d, 1
jmp 0x14001b5d4
mov r9d, 4
jmp 0x14001b5d4
movzx eax, byte [rsi + 0x16]
cmp al, 0x10
jne 0x14001b53e
mov r9d, 2
jmp 0x14001b5d4
xor r9d, r9d
cmp al, 0x20
setne r9b
add r9d, 3
jmp 0x14001b5d4
movzx eax, byte [rsi + 0x16]
cmp al, 0x10
jne 0x14001b53e
mov r9d, 3
jmp 0x14001b5d4
xor r9d, r9d
cmp byte [rsi + 0x16], 0x10
setne r9b
add r9d, 2
jmp 0x14001b5d4
movzx eax, byte [rsi + 0x17]
cmp al, 0x10
jne 0x14001b53e
mov r9d, 2
jmp 0x14001b5d4
mov r9d, 5
jmp 0x14001b5d4
mov r9d, 6
jmp 0x14001b5d4
mov r9d, 7
jmp 0x14001b5d4
mov r9d, r10d
jmp 0x14001b5d4
mov r9d, 9
jmp 0x14001b5d4
mov r9d, 0xa
jmp 0x14001b5d4
mov r9d, 0x12
jmp 0x14001b5d4
mov r9d, 0xd
jmp 0x14001b5d4
mov r9d, 0xf
jmp 0x14001b5d4
mov r9d, 0x10
jmp 0x14001b5d4
mov r9d, 0x11
movzx eax, byte [r8 + 9]
and eax, 0x3f
dec eax
cdqe
mov ecx, dword [r13 + rax*4 + 0x1b994]
add rcx, r13
jmp rcx
mov r8d, 2
mov rdx, rsi
mov rcx, r14
call fcn.140019a90
mov dword [rbx + 0x24], 1
cmp r9d, 1
jne 0x14001b64c
test byte [rsi + 0x430], 4
je 0x14001b620
cmp al, 4
jb 0x14001b620
movzx eax, al
add eax, 5
jmp 0x14001b657
movzx eax, al
inc eax
jmp 0x14001b657
mov r8d, 4
jmp 0x14001b5f3
movzx edx, al
mov ecx, r9d
call fcn.14001d630
mov dword [rbx + 0x44], eax
mov rax, qword [rsp + 0x58]
test byte [rax + 0xc], 1
je 0x14001b669
or byte [rbx + 0x40], 1
mov edx, dword [rbx + 0x24]
cmp edx, 2
jne 0x14001b896
mov rax, qword [rsi + 0x430]
bt rax, 0x1c
jae 0x14001b82a
mov dword [rbx + 0x4c], 0xc7
jmp 0x14001b896
add edx, 0xffffffe9
cmp edx, 9
ja case.0x14001b6ad.27
movsxd rax, edx
mov ecx, dword [r13 + rax*4 + 0x1b9ac]
add rcx, r13
jmp rcx
xor r9d, r9d
lea r8, [rbx + 0x20]
mov rdx, rsi
mov rcx, r14
call fcn.14001af70
test eax, eax
js 0x14001b8dd
jmp case.0x14001b6ad.27
mov r9d, 7
jmp 0x14001b6b2
mov r9d, r10d
jmp 0x14001b6b2
mov r9d, 9
jmp 0x14001b6b2
mov dword [rbx + 0x24], 3
mov eax, dword [rsi + 0x5b8]
mov dword [rbx + 0x74], eax
movzx eax, word [rsi + 0x5d0]
mov word [rbx + 0x70], ax
jmp case.0x14001b6ad.27
xor r9d, r9d
mov byte [rbx + 0x2c], 0
lea r8, [rbx + 0x20]
mov rdx, rsi
mov rcx, r14
call fcn.14001af70
test eax, eax
js 0x14001b8dd
mov dword [rbx + 0x48], 2
jmp case.0x14001b6ad.27
mov dword [rbx + 0x24], 2
mov dword [rbx + 0x48], 1
mov byte [rbx + 0x60], 1
mov rax, qword [rsi + 0x5a0]
mov qword [rbx + 0x68], rax
jmp case.0x14001b6ad.27
xor r9d, r9d
mov byte [rbx + 0x2c], 0
lea r8, [rbx + 0x20]
mov rdx, rsi
mov rcx, r14
call fcn.14001af70
test eax, eax
js 0x14001b8dd
mov dword [rbx + 0x48], 3
mov edx, dword [rbx + 0x24]
test edx, edx
je 0x14001b7a4
mov eax, dword [rsi + 0xc]
sub eax, 4
cmp eax, 1
ja 0x14001b66c
cmp byte [rsi + 0x5a8], 8
jne 0x14001b66c
movzx eax, byte [r14 + 0x3c]
mov rcx, qword [rbx + 0x68]
imul rcx, rax
mov qword [rbx + 0x68], rcx
jmp 0x14001b66c
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rax]
and ecx, 0x3f
sub ecx, 0x1b
je 0x14001b7bd
cmp ecx, 1
jne 0x14001b896
mov r8, qword [rsp + 0x58]
mov dword [rbx + 0x24], 4
movzx eax, byte [r14 + 0x24]
movzx edx, r12b
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, [rsi + rax*8]
movzx eax, byte [r8 + 9]
and al, 0x3f
cmp al, 5
jne 0x14001b7ff
movzx eax, byte [rcx]
and eax, 0xf
jmp 0x14001b802
mov rax, qword [rcx]
mov qword [rbx + 0x80], rax
inc r12b
lea rax, [rdx + rdx*2]
lea rcx, [rsi + rax*8]
movzx eax, byte [rcx + 0x5b0]
mov byte [rbx + 0x78], al
movzx eax, byte [rcx + 0x5b1]
mov byte [rbx + 0x79], al
jmp 0x14001b896
bt rax, 0x1d
jae 0x14001b83a
mov dword [rbx + 0x4c], 0xc8
jmp 0x14001b896
bt rax, 0x1e
jb 0x14001b88f
bt rax, 0x1f
jae 0x14001b851
mov dword [rbx + 0x4c], 0xc6
jmp 0x14001b896
bt rax, 0x20
jae 0x14001b861
mov dword [rbx + 0x4c], 0xca
jmp 0x14001b896
bt rax, 0x21
jae 0x14001b871
mov dword [rbx + 0x4c], 0xcb
jmp 0x14001b896
cmp dword [rbx + 0x4c], 0
jne 0x14001b896
movsxd rax, dword [rbx + 0x50]
cmp eax, 0x3a
ja 0x14001b88f
bt rdi, rax
jae 0x14001b88f
mov dword [rbx + 0x4c], 0xc8
jmp 0x14001b896
mov dword [rbx + 0x4c], 0xc9
mov r9, qword [rsp + 0x58]
lea r8, [rbx + 0x20]
mov rdx, rsi
mov rcx, r14
call fcn.14001d2f0
add qword [rsp + 0x58], 0xd
inc bpl
cmp bpl, byte [rsi + 0x18]
jb 0x14001b241
cmp dword [rsi + 0x4b0], 2
jne 0x14001b8d8
movzx ecx, byte [rsi + 0x2c]
sub ecx, 2
je 0x14001b8fa
cmp ecx, 1
jne 0x14001b8d8
mov byte [rsi + 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 [rsi + 0x24], 2
jne 0x14001b8d4
mov byte [rsi + 0x2c], 8
jmp 0x14001b8d8