Function at 0x140145d10
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
test r8, r8
je 0x14014641a
mov r14, r8
mov r12, rdx
mov r13, rcx
lea rax, [rcx + 0x1b]
mov qword [rsp + 0x38], rax
lea rax, [rcx + 0x1e]
mov qword [rsp + 0x28], rax
lea rax, [rcx + 0x3d]
mov qword [rsp + 0x58], rax
lea rax, [rcx + 0x21]
mov qword [rsp + 0x50], rax
lea rdi, [0x1403d2cb0]
mov qword [rsp + 0x48], rcx
nop word cs:[rax + rax]
mov rsi, qword [r13]
test rsi, rsi
je 0x140146554
mov rbx, qword [r13 + 0x10]
test rbx, rbx
jne 0x14014641e
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x140145e60
lea rax, [rcx + r14]
cmp rax, 3
jb 0x140145e90
mov esi, 3
sub rsi, rcx
jb 0x1401465c6
mov rbx, r14
sub rbx, rsi
jb 0x1401465d9
add rcx, qword [rsp + 0x38]
mov rdx, r12
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
movzx ecx, byte [r13 + 0x18]
call fcn.1401fb3e0
movzx ecx, byte [r13 + 0x1b]
mov rdx, rcx
shr rdx, 2
movzx edx, byte [rax + rdx]
mov byte [r13 + 0x1e], dl
movzx r8d, byte [r13 + 0x1c]
mov edx, r8d
shr dl, 4
shl cl, 4
or cl, dl
movzx ecx, cl
and ecx, 0x3f
movzx ecx, byte [rax + rcx]
mov byte [r13 + 0x1f], cl
movzx ecx, byte [r13 + 0x1d]
shl r8b, 2
mov edx, ecx
shr dl, 6
or dl, r8b
movzx edx, dl
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [r13 + 0x20], dl
and ecx, 0x3f
movzx eax, byte [rax + rcx]
mov byte [r13 + 0x21], al
mov qword [rsp + 0x20], r12
add r12, rsi
mov qword [r13 + 8], 0
mov ebp, 4
mov r15d, 0x2fd
jmp 0x140145ecc
cmp r14, 3
jae 0x140145eba
mov rcx, qword [rsp + 0x38]
mov rdx, r12
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov qword [r13 + 8], r14
mov r15, r14
jmp 0x1401463ef
cmp rcx, 2
ja 0x140146495
movzx eax, byte [r12]
mov byte [r13 + rcx + 0x1b], al
mov rax, qword [r13 + 8]
inc rax
mov r15d, 1
mov qword [r13 + 8], rax
jmp 0x1401463ef
mov r15d, 0x300
xor esi, esi
xor ebp, ebp
mov rbx, r14
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x40], r14
mov rax, rbx
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
lea rax, [rdx + rdx*2]
cmp rax, r15
cmovb r15, rax
cmp r15, rbx
ja 0x140146582
mov r14d, 0x400
mov qword [rsp + 0x30], rbp
sub r14, rbp
movzx ecx, byte [r13 + 0x18]
call fcn.1401fb3e0
mov r8, r15
mov r10d, 0
mov ecx, 0
sub r8, 0x1a
mov edx, 0
cmovb r8, rdx
jbe 0x1401461b4
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x30]
lea rdi, [rcx + rdx]
xor r10d, r10d
xor ebx, ebx
nop dword [rax]
lea rcx, [r10 + 0x1a]
cmp rcx, r15
ja 0x140146506
lea rcx, [rbx + 0x20]
cmp rcx, r14
ja 0x14014650f
mov rbp, qword [r12 + r10]
bswap rbp
mov rdx, rbp
shr rdx, 0x3a
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x1f], dl
mov rdx, rbp
shr rdx, 0x34
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x1e], dl
mov rdx, rbp
shr rdx, 0x2e
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x1d], dl
mov rdx, rbp
shr rdx, 0x28
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x1c], dl
mov rdx, rbp
shr rdx, 0x22
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x1b], dl
mov rdx, rbp
shr rdx, 0x1c
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x1a], dl
mov edx, ebp
shr edx, 0x16
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x19], dl
shr ebp, 0x10
and ebp, 0x3f
movzx edx, byte [rax + rbp]
mov rbp, qword [r12 + r10 + 6]
bswap rbp
mov byte [rdi + rbx - 0x18], dl
mov rdx, rbp
shr rdx, 0x3a
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x17], dl
mov rdx, rbp
shr rdx, 0x34
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x16], dl
mov rdx, rbp
shr rdx, 0x2e
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x15], dl
mov rdx, rbp
shr rdx, 0x28
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x14], dl
mov rdx, rbp
shr rdx, 0x22
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x13], dl
mov rdx, rbp
shr rdx, 0x1c
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x12], dl
mov edx, ebp
shr edx, 0x16
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0x11], dl
shr ebp, 0x10
and ebp, 0x3f
movzx edx, byte [rax + rbp]
mov byte [rdi + rbx - 0x10], dl
mov rbp, qword [r12 + r10 + 0xc]
bswap rbp
mov rdx, rbp
shr rdx, 0x3a
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0xf], dl
mov rdx, rbp
shr rdx, 0x34
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0xe], dl
mov rdx, rbp
shr rdx, 0x2e
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0xd], dl
mov rdx, rbp
shr rdx, 0x28
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0xc], dl
mov rdx, rbp
shr rdx, 0x22
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0xb], dl
mov rdx, rbp
shr rdx, 0x1c
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 0xa], dl
mov edx, ebp
shr edx, 0x16
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 9], dl
shr ebp, 0x10
and ebp, 0x3f
movzx edx, byte [rax + rbp]
mov byte [rdi + rbx - 8], dl
mov rbp, qword [r12 + r10 + 0x12]
bswap rbp
mov rdx, rbp
shr rdx, 0x3a
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 7], dl
mov rdx, rbp
shr rdx, 0x34
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 6], dl
mov rdx, rbp
shr rdx, 0x2e
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 5], dl
mov rdx, rbp
shr rdx, 0x28
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 4], dl
mov rdx, rbp
shr rdx, 0x22
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 3], dl
mov rdx, rbp
shr rdx, 0x1c
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 2], dl
mov edx, ebp
shr edx, 0x16
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rbx - 1], dl
shr ebp, 0x10
and ebp, 0x3f
movzx edx, byte [rax + rbp]
mov byte [rdi + rbx], dl
add r10, 0x18
mov rbx, rcx
cmp r10, r8
jbe 0x140145f50
mov edx, r15d
mov ebp, 0xaaaaaaab
imul rdx, rbp
shr rdx, 0x21
lea edx, [rdx + rdx*2]
mov r8d, r15d
sub r8d, edx
mov r9, r15
sub r9, r8
cmp r10, r9
jae 0x140146280
mov rdx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x30]
lea rdi, [rdx + rbp]
nop word [rax + rax]
lea rsi, [r10 + 3]
cmp rsi, r15
ja 0x140146527
lea r13, [rcx + 4]
cmp r13, r14
ja 0x14014653f
movzx ebx, byte [r12 + r10]
mov rbp, rbx
shr rbp, 2
movzx edx, byte [rax + rbp]
mov byte [rdi + rcx - 3], dl
movzx r11d, byte [r12 + r10 + 1]
shl bl, 4
mov edx, r11d
shr dl, 4
or dl, bl
movzx edx, dl
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rcx - 2], dl
movzx edx, byte [r12 + r10 + 2]
shl r11b, 2
mov ebx, edx
shr bl, 6
or bl, r11b
movzx ebp, bl
and ebp, 0x3f
movzx ebx, byte [rax + rbp]
mov byte [rdi + rcx - 1], bl
and edx, 0x3f
movzx edx, byte [rax + rdx]
mov byte [rdi + rcx], dl
mov rcx, r13
mov r10, rsi
cmp rsi, r9
jb 0x1401461f0
jmp 0x140146283
mov r13, rcx
mov rcx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
lea rdx, [rcx + rbx]
cmp r8d, 1
je 0x140146321
cmp r8d, 2
jne 0x14014636f
cmp r9, r15
jae 0x1401464a8
cmp r13, r14
jae 0x1401464ba
movzx edi, byte [r12 + r9]
mov rcx, rdi
shr rcx, 2
movzx ecx, byte [rax + rcx]
mov byte [rdx + r13], cl
inc r9
cmp r9, r15
jae 0x1401464cf
lea rcx, [r13 + 1]
cmp rcx, r14
jae 0x1401464ec
movzx ebp, byte [r12 + r9]
mov ecx, ebp
shr cl, 4
shl dil, 4
or dil, cl
movzx ecx, dil
and ecx, 0x3f
movzx ecx, byte [rax + rcx]
mov byte [rdx + r13 + 1], cl
lea rcx, [r13 + 2]
cmp rcx, r14
jae 0x1401464f5
shl bpl, 2
and bpl, 0x3c
mov edi, 3
jmp 0x140146361
cmp r9, r15
jae 0x1401464b1
cmp r13, r14
jae 0x1401464c3
movzx ebp, byte [r12 + r9]
mov rcx, rbp
shr rcx, 2
movzx ecx, byte [rax + rcx]
mov byte [rdx + r13], cl
lea rcx, [r13 + 1]
cmp rcx, r14
jae 0x1401464e3
shl bpl, 4
and bpl, 0x30
mov edi, 2
movzx ebp, bpl
movzx eax, byte [rax + rbp]
mov byte [rdx + rcx], al
add r13, rdi
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x20]
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x41e], 1
mov rbp, qword [rax]
test rbp, rbp
je 0x140146596
add r13, rbx
cmp r13, 0x401
jae 0x1401465b0
mov rax, qword [rbp + 8]
mov rdi, qword [rbp + 0x10]
sub rax, rdi
cmp rax, r13
jb 0x140146406
mov rcx, qword [rbp]
add rcx, rdi
mov rdx, qword [rsp + 0x28]
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add rdi, r13
mov qword [rbp + 0x10], rdi
mov r13, qword [rsp + 0x48]
mov byte [r13 + 0x41e], 0
mov qword [r13 + 0x10], 0
add r15, qword [rsp + 0x60]
lea rdi, [0x1403d2cb0]
je 0x14014646d
cmp r14, r15
jb 0x14014656e
add r12, r15
sub r14, r15
jne 0x140145d70
jmp 0x14014641a
mov rcx, rbp
mov rdx, rdi
mov r8, r13
call fcn.1403abe40
mov rdi, qword [rbp + 0x10]
jmp 0x1401463b1
xor edi, edi
jmp 0x14014646d
mov byte [r13 + 0x41e], 1
cmp rbx, 0x401
jae 0x1401465ed
mov rax, qword [rsi + 8]
mov rbp, qword [rsi + 0x10]
sub rax, rbp
cmp rax, rbx
jb 0x140146481
mov rcx, qword [rsi]
add rcx, rbp
mov rdx, qword [rsp + 0x28]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbp, rbx
mov qword [rsi + 0x10], rbp
mov byte [r13 + 0x41e], 0
mov qword [r13 + 0x10], 0
mov rax, rdi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rsi
mov rdx, rbp
mov r8, rbx
call fcn.1403abe40
mov rbp, qword [rsi + 0x10]
jmp 0x140146443
lea r8, [0x1403d38e0]
mov edx, 3
call fcn.1403b62b0
ud2
lea r8, [0x1403d36d0]
jmp 0x1401464d6
lea r8, [0x1403d3688]
jmp 0x1401464d6
lea r8, [0x1403d36e8]
jmp 0x1401464ca
lea r8, [0x1403d36a0]
mov rcx, r13
jmp 0x1401464fc
lea r8, [0x1403d3700]
mov rcx, r9
mov rdx, r15
call fcn.1403b62b0
ud2
lea r8, [0x1403d36b8]
jmp 0x1401464fc
lea r8, [0x1403d3718]
jmp 0x1401464fc
lea r8, [0x1403d3730]
mov rdx, r14
call fcn.1403b62b0
ud2
lea r8, [0x1403d3628]
jmp 0x140146535
add rbx, 0x20
lea r8, [0x1403d3640]
mov rcx, rbx
mov rdx, r14
call fcn.1403b65a0
ud2
add r10, 3
lea r8, [0x1403d3658]
mov rcx, r10
mov rdx, r15
call fcn.1403b65a0
ud2
add rcx, 4
lea r8, [0x1403d3670]
mov rdx, r14
call fcn.1403b65a0
ud2
lea rcx, str.Cannot_write_more_after_calling_finish__
lea r8, [0x1403d3898]
mov edx, 0x28
call fcn.1403b0ea0
ud2
lea r8, [0x1403d2c78]
mov rcx, r15
mov rdx, r14
call fcn.1403b6590
ud2
lea r8, [0x1403d38f8]
mov rcx, r15
mov rdx, rbx
call fcn.1403b65a0
ud2
lea rcx, str.Writer_must_be_presentC:Usershrdp.cargo_registry_srcgithub.com_1ecc6299db9ec823_base64_0.13.0_srcwriteencoder.rs
lea r8, [0x1403d3598]
mov edx, 0x16
call fcn.1403b6250
ud2
lea r8, [0x1403d3580]
mov edx, 0x400
mov rcx, r13
call fcn.1403b65a0
ud2
lea r8, [0x1403d38b0]
mov edx, 3
call fcn.1403b65b0
ud2
lea r8, [0x1403d38c8]
mov rcx, rsi
mov rdx, r14
call fcn.1403b65a0
ud2
lea r8, [0x1403d3580]
mov edx, 0x400
mov rcx, rbx
call fcn.1403b65a0
ud2