Function at 0x18003f9a0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
sub rsp, 0x40
lea r11, [r8 + r9]
mov r10, rdx
lea rbp, [0x180070500]
mov rbx, r11
cmp r9, 3
jb 0x18003fab1
sub r11, 3
cmp r8, r11
ja 0x18003faae
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8]
mov rdx, qword [r10]
shr rax, 2
movzx r9d, byte [rax + rbp]
lea rax, [rdx + 1]
mov qword [r10], rax
mov rax, rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x18003fa04
mov rax, qword [rcx]
mov byte [rax + rdx], r9b
movzx eax, byte [r8]
and al, 3
shl al, 4
movzx edx, al
movzx eax, byte [r8 + 1]
shr rax, 4
or rdx, rax
movzx r9d, byte [rdx + rbp]
mov rdx, qword [r10]
lea rax, [rdx + 1]
mov qword [r10], rax
mov rax, rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x18003fa3c
mov rax, qword [rcx]
mov byte [rdx + rax], r9b
movzx eax, byte [r8 + 1]
and al, 0xf
shl al, 2
movzx edx, al
movzx eax, byte [r8 + 2]
shr rax, 6
or rdx, rax
movzx r9d, byte [rdx + rbp]
mov rdx, qword [r10]
lea rax, [rdx + 1]
mov qword [r10], rax
mov rax, rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x18003fa75
mov rax, qword [rcx]
mov byte [rdx + rax], r9b
movzx eax, byte [r8 + 2]
mov rdx, qword [r10]
and eax, 0x3f
movzx r9d, byte [rax + rbp]
lea rax, [rdx + 1]
mov qword [r10], rax
mov rax, rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x18003fa9d
mov rax, qword [rcx]
add r8, 3
mov byte [rdx + rax], r9b
cmp r8, r11
jbe 0x18003f9e0
mov r11, rbx
cmp r11, r8
jbe 0x18003fbf5
sub r11, r8
je 0x18003fc59
cmp r11, 3
jge 0x18003fc59
cmp r11b, 1
jne 0x18003fad8
mov r11b, 2
jmp 0x18003fae5
cmp r11b, 2
jne 0x18003fc60
mov r11b, 3
movzx eax, byte [r8]
lea r9, [rcx + 0x18]
mov rbx, qword [r10]
shr rax, 2
mov qword [rsp + 0x58], rdi
movzx edi, byte [rax + rbp]
lea rax, [rbx + 1]
mov qword [r10], rax
mov rax, rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x18003fb11
mov rax, qword [rcx]
mov byte [rbx + rax], dil
movzx eax, byte [r8]
and al, 3
shl al, 4
movzx ebx, al
cmp r11b, 2
jne 0x18003fb48
mov r8, qword [r10]
movzx ebx, byte [rbx + rbp]
lea rax, [r8 + 1]
mov qword [r10], rax
mov rax, rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x18003fb42
mov rax, qword [rcx]
mov byte [r8 + rax], bl
jmp 0x18003fbbd
movzx eax, byte [r8 + 1]
mov rdi, qword [r10]
shr rax, 4
or rax, rbx
mov qword [rsp + 0x50], rsi
movzx esi, byte [rax + rbp]
lea rax, [rdi + 1]
mov qword [r10], rax
mov rax, rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x18003fb7a
mov rax, qword [rcx]
lea rbx, [rcx + 0x18]
jmp 0x18003fb7d
mov rbx, r9
mov byte [rdi + rax], sil
movzx eax, byte [r8 + 1]
mov rsi, qword [rsp + 0x50]
and al, 0xf
shl al, 2
movzx edi, al
cmp r11b, 3
jne 0x18003fc00
mov r8, qword [r10]
movzx r9d, byte [rdi + rbp]
lea rax, [r8 + 1]
mov qword [r10], rax
mov rax, rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x18003fbb5
mov rax, qword [rcx]
mov byte [r8 + rax], r9b
lea r9, [rcx + 0x18]
movzx eax, r11b
mov r8d, 4
sub r8d, eax
nop word [rax + rax]
mov rdx, qword [r10]
lea rax, [rdx + 1]
mov qword [r10], rax
mov rax, rcx
cmp qword [r9], 0xf
jbe 0x18003fbe6
mov rax, qword [rcx]
mov byte [rdx + rax], 0x3d
sub r8, 1
jne 0x18003fbd0
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rbp
ret
movzx eax, byte [r8 + 2]
mov r11, qword [r10]
shr rax, 6
or rax, rdi
movzx edi, byte [rax + rbp]
lea rax, [r11 + 1]
mov qword [r10], rax
mov rax, rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x18003fc2a
mov rax, qword [rcx]
mov r9, rbx
mov byte [rax + r11], dil
movzx eax, byte [r8 + 2]
mov rdx, qword [r10]
and eax, 0x3f
movzx r8d, byte [rax + rbp]
lea rax, [rdx + 1]
mov qword [r10], rax
cmp qword [r9], 0xf
jbe 0x18003fc4e
mov rcx, qword [rcx]
mov byte [rdx + rcx], r8b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
lea rdx, str.invalid_number_of_bytes_in_a_tail_block
lea rcx, [rsp + 0x20]
call fcn.1800024e0
lea rdx, [0x180084e20]
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
int3