Function at 0x613c1430
Capabilities:
Encode data using base64

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov byte [rbp - 1], 0
mov rcx, qword [rbp + 0x10]
call sub.msvcrt.dll_strlen
shl rax, 2
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov rax, rdx
shr rax, 1
add rax, 4
mov rcx, rax
call sub.msvcrt.dll_malloc
mov qword [rbp - 0x18], rax
mov dword [rbp - 8], 0
mov dword [rbp - 0xc], 0
mov dword [rbp - 8], 0
jmp 0x613c159d
movzx eax, byte [rbp - 1]
mov edx, eax
add edx, 1
mov byte [rbp - 1], dl
movsx eax, al
mov edx, dword [rbp - 8]
movsxd rcx, edx
mov rdx, qword [rbp + 0x10]
add rdx, rcx
movzx edx, byte [rdx]
cdqe
mov byte [rbp + rax - 0x20], dl
cmp byte [rbp - 1], 3
jne 0x613c1599
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
lea rcx, [rdx + rax]
movzx eax, byte [rbp - 0x20]
sar al, 2
movsx eax, al
movsxd rdx, eax
lea rax, sym.NETUTILS.dll_base46_map
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
lea rcx, [rdx + rax]
movzx eax, byte [rbp - 0x20]
movsx eax, al
and eax, 3
shl eax, 4
mov edx, eax
movzx eax, byte [rbp - 0x1f]
sar al, 4
movsx eax, al
add eax, edx
movsxd rdx, eax
lea rax, sym.NETUTILS.dll_base46_map
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
lea rcx, [rdx + rax]
movzx eax, byte [rbp - 0x1f]
movsx eax, al
and eax, 0xf
lea edx, [rax*4]
movzx eax, byte [rbp - 0x1e]
sar al, 6
movsx eax, al
add eax, edx
movsxd rdx, eax
lea rax, sym.NETUTILS.dll_base46_map
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
lea rcx, [rdx + rax]
movzx eax, byte [rbp - 0x1e]
movsx eax, al
and eax, 0x3f
movsxd rdx, eax
lea rax, sym.NETUTILS.dll_base46_map
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov byte [rbp - 1], 0
add dword [rbp - 8], 1
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
test al, al
jne 0x613c148a
cmp byte [rbp - 1], 0
jle 0x613c16c2
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
lea rcx, [rdx + rax]
movzx eax, byte [rbp - 0x20]
sar al, 2
movsx eax, al
movsxd rdx, eax
lea rax, sym.NETUTILS.dll_base46_map
movzx eax, byte [rdx + rax]
mov byte [rcx], al
cmp byte [rbp - 1], 1
jne 0x613c163c
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
lea rcx, [rdx + rax]
movzx eax, byte [rbp - 0x20]
movsx eax, al
and eax, 3
shl eax, 4
movsxd rdx, eax
lea rax, sym.NETUTILS.dll_base46_map
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
add rax, rdx
mov byte [rax], 0x3d
jmp 0x613c16ac
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
lea rcx, [rdx + rax]
movzx eax, byte [rbp - 0x20]
movsx eax, al
and eax, 3
shl eax, 4
mov edx, eax
movzx eax, byte [rbp - 0x1f]
sar al, 4
movsx eax, al
add eax, edx
movsxd rdx, eax
lea rax, sym.NETUTILS.dll_base46_map
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
lea rcx, [rdx + rax]
movzx eax, byte [rbp - 0x1f]
movsx eax, al
and eax, 0xf
shl eax, 2
movsxd rdx, eax
lea rax, sym.NETUTILS.dll_base46_map
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
add rax, rdx
mov byte [rax], 0x3d
mov eax, dword [rbp - 0xc]
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
add rax, rdx
mov byte [rax], 0
mov rax, qword [rbp - 0x18]
add rsp, 0x40
pop rbp
ret