Function at 0x140101587
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov r10, rdx
mov rdi, qword [rsp + 0x80]
xor r11d, r11d
mov esi, 0
sub rdx, 0x1a
cmovb rdx, r11
jbe 0x140101849
mov eax, 0x20
xor esi, esi
mov r11, rax
lea rax, [rsi + 0x1a]
cmp rax, r10
ja 0x140101a82
test r11, r11
je 0x140101a8e
cmp r11, r9
ja 0x140101aa0
mov rax, qword [rcx + rsi]
bswap rax
mov rbx, rax
shr rbx, 0x3a
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x20], bl
mov rbx, rax
shr rbx, 0x34
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x1f], bl
mov rbx, rax
shr rbx, 0x2e
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x1e], bl
mov rbx, rax
shr rbx, 0x28
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x1d], bl
mov rbx, rax
shr rbx, 0x22
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x1c], bl
mov rbx, rax
shr rbx, 0x1c
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x1b], bl
mov ebx, eax
shr ebx, 0x16
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x1a], bl
shr eax, 0x10
and eax, 0x3f
mov bl, byte [rdi + rax + 3]
mov rax, qword [rcx + rsi + 6]
bswap rax
mov byte [r8 + r11 - 0x19], bl
mov rbx, rax
shr rbx, 0x3a
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x18], bl
mov rbx, rax
shr rbx, 0x34
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x17], bl
mov rbx, rax
shr rbx, 0x2e
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x16], bl
mov rbx, rax
shr rbx, 0x28
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x15], bl
mov rbx, rax
shr rbx, 0x22
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x14], bl
mov rbx, rax
shr rbx, 0x1c
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x13], bl
mov ebx, eax
shr ebx, 0x16
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x12], bl
shr eax, 0x10
and eax, 0x3f
mov al, byte [rdi + rax + 3]
mov byte [r8 + r11 - 0x11], al
mov rax, qword [rcx + rsi + 0xc]
bswap rax
mov rbx, rax
shr rbx, 0x3a
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0x10], bl
mov rbx, rax
shr rbx, 0x34
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0xf], bl
mov rbx, rax
shr rbx, 0x2e
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0xe], bl
mov rbx, rax
shr rbx, 0x28
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0xd], bl
mov rbx, rax
shr rbx, 0x22
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0xc], bl
mov rbx, rax
shr rbx, 0x1c
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0xb], bl
mov ebx, eax
shr ebx, 0x16
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 0xa], bl
shr eax, 0x10
and eax, 0x3f
mov al, byte [rdi + rax + 3]
mov byte [r8 + r11 - 9], al
mov rax, qword [rcx + rsi + 0x12]
bswap rax
mov rbx, rax
shr rbx, 0x3a
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 8], bl
mov rbx, rax
shr rbx, 0x34
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 7], bl
mov rbx, rax
shr rbx, 0x2e
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 6], bl
mov rbx, rax
shr rbx, 0x28
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 5], bl
mov rbx, rax
shr rbx, 0x22
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 4], bl
mov rbx, rax
shr rbx, 0x1c
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 3], bl
mov ebx, eax
shr ebx, 0x16
and ebx, 0x3f
mov bl, byte [rdi + rbx + 3]
mov byte [r8 + r11 - 2], bl
shr eax, 0x10
and eax, 0x3f
mov al, byte [rdi + rax + 3]
mov byte [r8 + r11 - 1], al
add rsi, 0x18
lea rax, [r11 + 0x20]
cmp rsi, rdx
jbe 0x1401015bb
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul rdx
shr rdx, 1
lea rdx, [rdx + rdx*2]
cmp rsi, rdx
jae 0x140101914
cmp rsi, 0xfffffffffffffffc
ja 0x140101aa9
lea rbx, [rsi + 3]
cmp rbx, r10
ja 0x140101ab9
cmp r11, 0xfffffffffffffffb
ja 0x140101acc
lea rax, [r11 + 4]
cmp rax, r9
ja 0x140101ae1
movzx r14d, byte [rcx + rsi]
mov r15, r14
shr r15, 2
mov bpl, byte [rdi + r15 + 3]
mov byte [r8 + r11], bpl
mov bpl, byte [rcx + rsi + 1]
shl r14b, 4
mov r15d, ebp
shr r15b, 4
or r15b, r14b
movzx r14d, r15b
and r14d, 0x3f
mov r14b, byte [rdi + r14 + 3]
mov byte [r8 + r11 + 1], r14b
movzx esi, byte [rcx + rsi + 2]
shl bpl, 2
mov r14d, esi
shr r14b, 6
or r14b, bpl
movzx r14d, r14b
and r14d, 0x3f
mov bpl, byte [rdi + r14 + 3]
mov byte [r8 + r11 + 2], bpl
and esi, 0x3f
mov sil, byte [rdi + rsi + 3]
mov byte [r8 + r11 + 3], sil
mov rsi, rbx
mov r11, rax
cmp rbx, rdx
jb 0x140101869
jmp 0x140101917
mov rax, r11
mov r11, r10
sub r11, rdx
cmp r11, 1
je 0x14010199d
cmp r11, 2
jne 0x1401019e0
cmp rax, r9
jae 0x140101a40
movzx r11d, byte [rcx + rdx]
mov rsi, r11
shr rsi, 2
mov bl, byte [rdi + rsi + 3]
mov byte [r8 + rax], bl
inc rdx
cmp rdx, r10
jae 0x140101a55
lea r10, [rax + 1]
cmp r10, r9
jae 0x140101a6d
mov dl, byte [rcx + rdx]
mov ecx, edx
shr cl, 4
shl r11b, 4
or r11b, cl
movzx ecx, r11b
and ecx, 0x3f
mov cl, byte [rdi + rcx + 3]
mov byte [r8 + rax + 1], cl
lea rcx, [rax + 2]
cmp rcx, r9
jae 0x140101a79
shl dl, 2
and dl, 0x3c
mov r10d, 3
jmp 0x1401019d2
cmp rax, r9
jae 0x140101a49
movzx edx, byte [rcx + rdx]
mov rcx, rdx
shr rcx, 2
mov cl, byte [rdi + rcx + 3]
mov byte [r8 + rax], cl
lea rcx, [rax + 1]
cmp rcx, r9
jae 0x140101a64
shl dl, 4
and dl, 0x30
mov r10d, 2
movzx edx, dl
mov dl, byte [rdi + rdx + 3]
mov byte [r8 + rcx], dl
add rax, r10
cmp byte [rdi], 0
je 0x140101a14
cmp rax, r9
ja 0x140101b13
mov ecx, eax
neg ecx
and rcx, 3
je 0x140101a14
sub r9, rax
add r8, rax
xor edx, edx
cmp r9, rdx
je 0x140101a2c
mov byte [r8 + rdx], 0x3d
inc rdx
cmp rcx, rdx
jne 0x140101a00
jmp 0x140101a16
xor ecx, ecx
add rax, rcx
jb 0x140101af9
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcencode.rs
mov rcx, r9
mov rdx, r9
call fcn.1401097b0
ud2
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
jmp 0x140101a50
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, rax
jmp 0x140101a36
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, rdx
mov rdx, r10
jmp 0x140101a39
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
jmp 0x140101a36
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, r10
jmp 0x140101a36
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
jmp 0x140101a36
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, rax
jmp 0x140101ac7
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, 0xffffffffffffffe0
xor edx, edx
jmp 0x140101ada
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
jmp 0x140101aec
lea rdx, [rsi + 3]
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, rsi
jmp 0x140101ada
add rsi, 3
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, rsi
mov rdx, r10
jmp 0x140101af2
lea rdx, [r11 + 4]
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, r11
call fcn.140109b40
ud2
add r11, 4
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, r11
mov rdx, r9
call fcn.1401098b0
ud2
lea rcx, str.usize_overflow_when_calculating_b64_length
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcencode.rs
mov edx, 0x2a
call fcn.140109c60
ud2
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcencode.rs
mov rcx, rax
mov rdx, r9
call fcn.140109830
ud2