Function at 0x180009d20
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2010]
mov eax, 0x2110
call fcn.18002caa0
sub rsp, rax
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x2140], rbx
mov qword [rsp + 0x2148], rsi
mov qword [rsp + 0x2158], rdi
mov rax, qword [0x180125780]
xor rax, rsp
mov qword [rbp + 0x2000], rax
mov r13, r8
mov rbx, rdx
mov rcx, qword [r8 + 8]
mov r8, qword [r8]
cmp r8, rcx
je 0x180009dae
movzx r9d, byte [rsp + 0x20]
mov rdx, rcx
call fcn.1800080b0
mov rdi, rax
lea r8, [r13 + 0x18]
movzx r9d, byte [rsp + 0x20]
mov rdx, qword [r13 + 8]
mov rcx, rax
call fcn.180008030
mov qword [r13 + 8], rdi
xor edi, edi
mov word [rbp], di
xor edx, edx
mov r8d, 0x1ffe
lea rcx, [rbp + 2]
call fcn.18002bf70
lea rcx, [rbp]
sub rcx, rbx
nop dword [rax]
movzx eax, word [rbx]
mov word [rcx + rbx], ax
add rbx, 2
test ax, ax
jne 0x180009dd0
lea rdx, [0x1800468c0]
lea rcx, [rbp]
call fcn.18002ce98
mov r11, rax
mov r14, rdi
mov qword [rsp + 0x30], rdi
mov rsi, rdi
mov qword [rsp + 0x38], rdi
mov r12, rdi
mov qword [rsp + 0x40], rdi
movabs rax, 0x6666666666666667
test r11, r11
je 0x18000a0c5
movabs rbx, 0x666666666666665
movabs r15, 0x666666666666666
mov qword [rbp - 0x68], 7
mov qword [rbp - 0x70], rdi
mov word [rbp - 0x80], di
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r11
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, r11
lea rcx, [rbp - 0x80]
call fcn.1800030e0
nop
lea rax, [rbp - 0x80]
cmp rax, rsi
jae 0x180009f89
lea rax, [rbp - 0x80]
cmp r14, rax
ja 0x180009f89
lea rcx, [rbp - 0x80]
sub rcx, r14
movabs r8, 0x6666666666666667
mov rax, r8
imul rcx
mov rbx, rdx
sar rbx, 4
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp rsi, r12
jne 0x180009f40
mov rcx, rsi
sub rcx, r14
mov rax, r8
imul rcx
mov rdi, rdx
sar rdi, 4
mov rax, rdi
shr rax, 0x3f
add rdi, rax
movabs rax, 0x666666666666665
cmp rdi, rax
ja 0x18000a0a1
inc rdi
mov rcx, r12
sub rcx, r14
mov rax, r8
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdi, rdx
jbe 0x180009f40
mov rcx, rdx
shr rcx, 1
mov rax, r15
sub rax, rcx
cmp rax, rdx
jae 0x180009f18
xor r15d, r15d
mov edx, r15d
jmp 0x180009f1e
add rdx, rcx
xor r15d, r15d
cmp rdx, rdi
cmovb rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.180004370
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
jmp 0x180009f43
xor r15d, r15d
lea rax, [rbx + rbx*4]
lea rdx, [r14 + rax*8]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x28], rsi
test rsi, rsi
je 0x180009f7a
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], r15
mov word [rsi], r15w
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rcx, rsi
call fcn.180002d50
nop
movabs rbx, 0x666666666666665
jmp 0x18000a05b
cmp rsi, r12
jne 0x18000a025
mov rcx, rsi
sub rcx, r14
movabs r8, 0x6666666666666667
mov rax, r8
imul rcx
mov rdi, rdx
sar rdi, 4
mov rax, rdi
shr rax, 0x3f
add rdi, rax
cmp rdi, rbx
ja 0x18000a0ae
inc rdi
mov rcx, r12
sub rcx, r14
mov rax, r8
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdi, rdx
jbe 0x18000a025
mov rcx, rdx
shr rcx, 1
mov rax, r15
sub rax, rcx
cmp rax, rdx
jae 0x180009ffd
xor r15d, r15d
mov edx, r15d
jmp 0x18000a003
add rdx, rcx
xor r15d, r15d
cmp rdx, rdi
cmovb rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.180004370
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
jmp 0x18000a028
xor r15d, r15d
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x28], rsi
test rsi, rsi
je 0x18000a05b
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], r15
mov word [rsi], r15w
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x80]
mov rcx, rsi
call fcn.180002d50
nop
add rsi, 0x28
mov qword [rsp + 0x38], rsi
cmp qword [rbp - 0x68], 8
jb 0x18000a074
mov rcx, qword [rbp - 0x80]
call fcn.18002bf50
mov qword [rbp - 0x68], 7
xor edi, edi
mov qword [rbp - 0x70], rdi
mov word [rbp - 0x80], di
lea rdx, [0x1800468c0]
xor ecx, ecx
call fcn.18002ce98
mov r11, rax
test rax, rax
je 0x18000a0bb
jmp 0x180009e28
lea rcx, str.vector_T__too_long
call fcn.18002b5f8
int3
lea rcx, str.vector_T__too_long
call fcn.18002b5f8
nop
movabs rax, 0x6666666666666667
mov rbx, rdi
mov qword [rsp + 0x60], rbx
mov rcx, rsi
sub rcx, r14
imul rcx
mov rcx, rdx
sar rcx, 4
mov rax, rcx
shr rax, 0x3f
add rcx, rax
mov qword [rsp + 0x50], rcx
je 0x18000a5f8
mov rax, r14
mov qword [rsp + 0x68], rax
movabs r9, 0x7ffffffffffffff
movabs r8, 0x7fffffffffffffe
cmp qword [rax + 0x18], 8
jb 0x18000a11a
mov rcx, qword [rax]
jmp 0x18000a11d
mov rcx, rax
lea rdx, [rbp]
sub rdx, rcx
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
add rcx, 2
test ax, ax
jne 0x18000a130
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rdi
mov rcx, qword [r13 + 8]
lea rax, [rbp - 0x80]
cmp rax, rcx
jae 0x18000a1ee
mov rax, qword [r13]
lea rdx, [rbp - 0x80]
cmp rax, rdx
ja 0x18000a1ee
lea rdi, [rbp - 0x80]
sub rdi, rax
mov rdx, qword [r13 + 0x10]
cmp rcx, rdx
jne 0x18000a1c8
sub rcx, rax
sar rcx, 5
cmp rcx, r8
ja 0x18000a52d
inc rcx
sub rdx, rax
sar rdx, 5
cmp rcx, rdx
jbe 0x18000a1c8
mov r8, rdx
shr r8, 1
mov rax, r9
sub rax, r8
cmp rax, rdx
jae 0x18000a1b6
xor r15d, r15d
mov edx, r15d
jmp 0x18000a1b9
add rdx, r8
cmp rdx, rcx
cmovb rdx, rcx
mov rcx, r13
call fcn.180009a10
and rdi, 0xffffffffffffffe0
add rdi, qword [r13]
mov rcx, qword [r13 + 8]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x58], rcx
test rcx, rcx
je 0x18000a1ec
mov rdx, rdi
call fcn.180007b80
nop
jmp 0x18000a262
mov rdx, qword [r13 + 0x10]
cmp rcx, rdx
jne 0x18000a245
mov rax, qword [r13]
sub rcx, rax
sar rcx, 5
cmp rcx, r8
ja 0x18000a53a
inc rcx
sub rdx, rax
sar rdx, 5
cmp rcx, rdx
jbe 0x18000a245
mov rdi, rdx
shr rdi, 1
mov rax, r9
sub rax, rdi
cmp rax, rdx
jae 0x18000a233
xor r15d, r15d
mov edx, r15d
jmp 0x18000a236
add rdx, rdi
cmp rdx, rcx
cmovb rdx, rcx
mov rcx, r13
call fcn.180009a10
mov rcx, qword [r13 + 8]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x28], rcx
test rcx, rcx
je 0x18000a262
lea rdx, [rbp - 0x80]
call fcn.180007b80
nop
add qword [r13 + 8], 0x20
lea rdx, [0x180045a70]
lea rcx, [rbp]
call fcn.18002ce98
mov r14, rax
test rax, rax
je 0x18000a4f9
mov r15, rbx
shl r15, 5
xor edi, edi
nop dword [rax]
mov r12, r14
mov qword [rsp + 0x28], r14
lea rdx, [0x180045a70]
xor ecx, ecx
call fcn.18002ce98
mov r14, rax
mov qword [rbp - 0x38], 7
mov qword [rbp - 0x40], rdi
mov word [rbp - 0x50], di
mov qword [rbp - 0x10], 7
mov qword [rbp - 0x18], rdi
mov word [rbp - 0x28], di
mov rax, qword [r13]
lea rdi, [r15 + rax]
mov r8, qword [rdi + 8]
lea rax, [rbp - 0x50]
cmp rax, r8
jae 0x18000a39a
mov rax, qword [rdi]
lea rcx, [rbp - 0x50]
cmp rax, rcx
ja 0x18000a39a
lea rcx, [rbp - 0x50]
sub rcx, rax
movabs rax, 0x6666666666666667
imul rcx
mov rbx, rdx
sar rbx, 5
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp r8, qword [rdi + 0x10]
jne 0x18000a32a
mov edx, 1
mov rcx, rdi
call fcn.180007ad0
lea r12, [rbx + rbx*4]
shl r12, 4
add r12, qword [rdi]
mov rbx, qword [rdi + 8]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x70], rbx
test rbx, rbx
je 0x18000a393
mov qword [rbx + 0x18], 7
xor eax, eax
mov qword [rbx + 0x10], rax
mov word [rbx], ax
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r12
mov rcx, rbx
call fcn.180002d50
nop
lea rcx, [rbx + 0x28]
mov qword [rcx + 0x18], 7
xor eax, eax
mov qword [rcx + 0x10], rax
mov word [rcx], ax
lea rdx, [r12 + 0x28]
or r9, 0xffffffffffffffff
xor r8d, r8d
call fcn.180002d50
nop
mov r12, qword [rsp + 0x28]
jmp 0x18000a40b
cmp r8, qword [rdi + 0x10]
jne 0x18000a3ad
mov edx, 1
mov rcx, rdi
call fcn.180007ad0
mov rbx, qword [rdi + 8]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x58], rbx
test rbx, rbx
je 0x18000a40b
mov qword [rbx + 0x18], 7
xor eax, eax
mov qword [rbx + 0x10], rax
mov word [rbx], ax
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.180002d50
nop
lea rcx, [rbx + 0x28]
mov qword [rcx + 0x18], 7
xor eax, eax
mov qword [rcx + 0x10], rax
mov word [rcx], ax
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x28]
call fcn.180002d50
nop
add qword [rdi + 8], 0x50
mov rax, qword [r13]
mov rcx, qword [r15 + rax + 8]
sub rcx, qword [r15 + rax]
movabs rax, 0x6666666666666667
imul rcx
mov rdi, rdx
sar rdi, 5
mov rax, rdi
shr rax, 0x3f
add rdi, rax
dec edi
mov edx, 0x3d
mov rcx, r12
call fcn.18002cc90
mov rbx, rax
test rax, rax
je 0x18000a547
lea rdi, [rdi + rdi*4]
shl rdi, 4
mov r8, rax
sub r8, r12
sar r8, 1
mov rcx, qword [r13]
mov rcx, qword [rcx + r15]
add rcx, rdi
mov rdx, r12
call fcn.180003240
lea rdx, [rbx + 2]
mov rax, qword [r13]
mov rcx, qword [rax + r15]
lea r9, [rcx + rdi + 0x28]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, r9
call fcn.1800030e0
nop
cmp qword [rbp - 0x10], 8
jb 0x18000a4b7
mov rcx, qword [rbp - 0x28]
call fcn.18002bf50
mov qword [rbp - 0x10], 7
xor edi, edi
mov qword [rbp - 0x18], rdi
mov word [rbp - 0x28], di
cmp qword [rbp - 0x38], 8
jb 0x18000a4d9
mov rcx, qword [rbp - 0x50]
call fcn.18002bf50
mov qword [rbp - 0x38], 7
mov qword [rbp - 0x40], rdi
mov word [rbp - 0x50], di
test r14, r14
jne 0x18000a290
mov rbx, qword [rsp + 0x60]
jmp 0x18000a4fb
xor edi, edi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rdi
inc rbx
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x68]
add rax, 0x28
mov qword [rsp + 0x68], rax
cmp rbx, qword [rsp + 0x50]
jae 0x18000a5f3
jmp 0x18000a0fa
lea rcx, str.vector_T__too_long
call fcn.18002b5f8
int3
lea rcx, str.vector_T__too_long
call fcn.18002b5f8
nop
cmp qword [rbp - 0x10], 8
jb 0x18000a557
mov rcx, qword [rbp - 0x28]
call fcn.18002bf50
mov qword [rbp - 0x10], 7
xor r12d, r12d
mov qword [rbp - 0x18], r12
mov word [rbp - 0x28], r12w
cmp qword [rbp - 0x38], 8
jb 0x18000a57b
mov rcx, qword [rbp - 0x50]
call fcn.18002bf50
mov qword [rbp - 0x38], 7
mov qword [rbp - 0x40], r12
mov word [rbp - 0x50], r12w
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], r12
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x18000a5e0
mov rdi, rbx
cmp rbx, rsi
je 0x18000a5d8
nop word [rax + rax]
cmp qword [rdi + 0x18], 8
jb 0x18000a5bf
mov rcx, qword [rdi]
call fcn.18002bf50
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], r12
mov word [rdi], r12w
add rdi, 0x28
cmp rdi, rsi
jne 0x18000a5b0
mov rcx, rbx
call fcn.18002bf50
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
xor al, al
jmp 0x18000a64b
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x18000a63a
mov rdi, r14
cmp r14, rsi
je 0x18000a630
xor r15d, r15d
cmp qword [rdi + 0x18], 8
jb 0x18000a617
mov rcx, qword [rdi]
call fcn.18002bf50
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], r15
mov word [rdi], r15w
add rdi, 0x28
cmp rdi, rsi
jne 0x18000a608
mov rcx, r14
call fcn.18002bf50
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rdi
mov al, 1
mov rcx, qword [rbp + 0x2000]
xor rcx, rsp
call fcn.18002c920
lea r11, [rsp + 0x2110]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret