Function at 0x14003f670
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rax, qword [rcx + 0x18]
mov r8d, dword [rcx]
mov rsi, rcx
mov edi, dword [rax]
add rcx, 0x10
mov byte [rsp + 0x20], 0
lea eax, [rdi + 0x3f]
mov edx, edi
shr eax, 6
sub edx, eax
lea ebx, [rdx + rdx*2]
mov rdx, qword [rcx - 8]
shr ebx, 2
add ebx, 3
mov r9d, ebx
call fcn.140013d30
xor ebp, ebp
mov dword [rsi], ebx
mov r12d, ebp
mov qword [rsi + 8], rax
cmp edi, 3
jbe 0x14003f95f
lea r15d, [rbp + 1]
lea r14, [0x1400c2500]
nop
mov rdx, qword [rsi + 0x18]
cmp dword [rdx + 0x1c], 0
jne 0x14003f707
mov ecx, dword [rdx + 0x18]
mov eax, dword [rdx]
sub eax, ecx
cmp eax, r15d
jb 0x14003f707
lea eax, [rcx + 1]
mov dword [rdx + 0x18], eax
mov rax, qword [rdx + 8]
movzx r9d, byte [rcx + rax]
jmp 0x14003f711
mov dword [rdx + 0x1c], 0x410
xor r9b, r9b
mov rdx, qword [rsi + 0x18]
cmp dword [rdx + 0x1c], 0
jne 0x14003f738
mov ecx, dword [rdx + 0x18]
mov eax, dword [rdx]
sub eax, ecx
cmp eax, r15d
jb 0x14003f738
lea eax, [rcx + 1]
mov dword [rdx + 0x18], eax
mov rax, qword [rdx + 8]
movzx r10d, byte [rcx + rax]
jmp 0x14003f742
mov dword [rdx + 0x1c], 0x410
xor r10b, r10b
mov rdx, qword [rsi + 0x18]
cmp dword [rdx + 0x1c], 0
jne 0x14003f769
mov ecx, dword [rdx + 0x18]
mov eax, dword [rdx]
sub eax, ecx
cmp eax, r15d
jb 0x14003f769
lea eax, [rcx + 1]
mov dword [rdx + 0x18], eax
mov rax, qword [rdx + 8]
movzx r8d, byte [rcx + rax]
jmp 0x14003f773
mov dword [rdx + 0x1c], 0x410
xor r8b, r8b
mov rdx, qword [rsi + 0x18]
cmp dword [rdx + 0x1c], 0
jne 0x14003f799
mov ecx, dword [rdx + 0x18]
mov eax, dword [rdx]
sub eax, ecx
cmp eax, r15d
jb 0x14003f799
lea eax, [rcx + 1]
mov dword [rdx + 0x18], eax
mov rax, qword [rdx + 8]
movzx edx, byte [rcx + rax]
jmp 0x14003f7a2
mov dword [rdx + 0x1c], 0x410
xor dl, dl
test r9b, r9b
je 0x14003f95f
xor al, al
xor cl, cl
cmp r8b, 0x3d
movzx ebx, al
movzx r11d, cl
cmove ebx, r15d
cmp dl, 0x3d
cmove r11d, r15d
cmp r9b, 0x2b
jb 0x14003f9ac
cmp r10b, 0x2b
jb 0x14003f9ac
cmp r8b, 0x2b
jb 0x14003f9ac
cmp dl, 0x2b
jb 0x14003f9ac
cmp r9b, 0x7a
ja 0x14003f9ac
cmp r10b, 0x7a
ja 0x14003f9ac
cmp r8b, 0x7a
ja 0x14003f9ac
cmp dl, 0x7a
ja 0x14003f9ac
movzx eax, r9b
movzx ecx, byte [rax + r14 - 0x2b]
movzx eax, r10b
movzx r10d, byte [rax + r14 - 0x2b]
cmp r8b, 0x3d
jne 0x14003f832
xor r8b, r8b
jmp 0x14003f83c
movzx eax, r8b
movzx r8d, byte [rax + r14 - 0x2b]
cmp dl, 0x3d
jne 0x14003f845
xor al, al
jmp 0x14003f84e
movzx eax, dl
movzx eax, byte [rax + r14 - 0x2b]
shl cl, 2
movzx r9d, r8b
movzx edx, r10b
shl r9b, 6
shr dl, 4
or r9b, al
mov rax, qword [rsi + 8]
or dl, cl
mov byte [rbp + rax], dl
inc ebp
test bl, bl
jne 0x14003f889
mov rax, qword [rsi + 8]
shr r8b, 2
shl r10b, 4
or r8b, r10b
mov byte [rbp + rax], r8b
inc ebp
test r11b, r11b
jne 0x14003f95f
mov rax, qword [rsi + 8]
inc r12d
mov ecx, ebp
mov byte [rbp + rax], r9b
inc ebp
add edi, 0xfffffffc
test r12b, 0xf
jne 0x14003f956
mov rdx, qword [rsi + 0x18]
cmp dword [rdx + 0x1c], 0
jne 0x14003f8d5
mov ecx, dword [rdx + 0x18]
mov eax, dword [rdx]
sub eax, ecx
cmp eax, r15d
jb 0x14003f8d5
lea eax, [rcx + 1]
mov dword [rdx + 0x18], eax
mov rax, qword [rdx + 8]
movzx edx, byte [rcx + rax]
jmp 0x14003f8de
mov dword [rdx + 0x1c], 0x410
xor dl, dl
dec edi
cmp dl, 0x20
jne 0x14003f91b
mov rdx, qword [rsi + 0x18]
cmp dword [rdx + 0x1c], 0
jne 0x14003f90b
mov ecx, dword [rdx + 0x18]
mov eax, dword [rdx]
sub eax, ecx
cmp eax, r15d
jb 0x14003f90b
lea eax, [rcx + 1]
mov dword [rdx + 0x18], eax
mov rax, qword [rdx + 8]
movzx edx, byte [rcx + rax]
jmp 0x14003f914
mov dword [rdx + 0x1c], 0x410
xor dl, dl
dec edi
cmp dl, 0x20
je 0x14003f8e5
cmp dl, 0xd
jne 0x14003f951
mov rdx, qword [rsi + 0x18]
cmp dword [rdx + 0x1c], 0
jne 0x14003f946
mov ecx, dword [rdx + 0x18]
mov eax, dword [rdx]
sub eax, ecx
cmp eax, r15d
jb 0x14003f946
lea eax, [rcx + 1]
mov dword [rdx + 0x18], eax
mov rax, qword [rdx + 8]
movzx edx, byte [rcx + rax]
jmp 0x14003f94f
mov dword [rdx + 0x1c], 0x410
xor dl, dl
dec edi
cmp dl, 0xa
jne 0x14003f9ac
cmp edi, 3
ja 0x14003f6e0
mov eax, dword [rsi]
cmp ebp, eax
je 0x14003f983
mov rdx, qword [rsi + 8]
lea rcx, [rsi + 0x10]
mov r8d, eax
mov r9d, ebp
mov byte [rsp + 0x20], 1
call fcn.140013d30
mov dword [rsi], ebp
mov qword [rsi + 8], rax
mov rcx, qword [rsi + 0x18]
mov rdx, rsi
call fcn.140056710
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rax, qword [rsi + 0x18]
mov dword [rax + 0x1c], 0x411
jmp 0x14003f98f