Function at 0x14003ba0c
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r12, r8
mov rdi, rcx
xor r10d, r10d
mov dword [rax - 0x54], r10d
mov qword [rcx + 0x10], r10
mov qword [rcx + 0x18], 7
mov word [rcx], r10w
mov dword [rax - 0x54], 1
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
cmp r8, 3
jb 0x14003bf2a
movabs r9, 0x7ffffffffffffffe
movabs r11, 0x7fffffffffffffff
movzx ecx, byte [rdx]
mov r8b, byte [rdx + 1]
mov r14b, cl
and r14b, 3
shl r14b, 4
mov al, r8b
shr al, 4
or r14b, al
mov byte [rsp + 0x90], r14b
mov dl, byte [rdx + 2]
and r8b, 0xf
shl r8b, 2
mov al, dl
shr al, 6
or r8b, al
mov byte [rsp + 0x98], r8b
and dl, 0x3f
mov byte [rsp + 0x20], dl
shr rcx, 2
movsx r13d, byte [rcx + r15]
mov r14, qword [rdi + 0x10]
mov r15, qword [rdi + 0x18]
cmp r14, r15
jae 0x14003baef
lea rax, [r14 + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r15, 8
jb 0x14003badf
mov rax, qword [rdi]
mov word [rax + r14*2], r13w
mov word [rax + r14*2 + 2], r10w
jmp 0x14003bbbc
mov rax, r9
sub rax, r14
cmp rax, 1
jb 0x14003c13a
lea rbp, [r14 + 1]
mov rbx, rbp
or rbx, 7
cmp rbx, r9
jbe 0x14003bb17
mov rbx, r9
mov rcx, r11
jmp 0x14003bb40
mov rcx, r15
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp r15, rax
ja 0x14003bb0f
lea rax, [r15 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, r11
ja 0x14003c140
add rcx, rcx
call fcn.140007894
mov rsi, rax
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], rbx
add r14, r14
mov r8, r14
mov rcx, rax
cmp r15, 8
jb 0x14003bb8f
mov rbx, qword [rdi]
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [rsi + r14], r13w
xor eax, eax
mov word [rsi + r14 + 2], ax
lea rdx, [r15*2 + 2]
mov rcx, rbx
call fcn.140007850
xor r10d, r10d
jmp 0x14003bba5
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [rsi + r14], r13w
xor r10d, r10d
mov word [rsi + r14 + 2], r10w
movabs r11, 0x7fffffffffffffff
movabs r9, 0x7ffffffffffffffe
mov qword [rdi], rsi
movzx eax, byte [rsp + 0x90]
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx r15d, byte [rax + rcx]
mov rsi, qword [rdi + 0x10]
mov r14, qword [rdi + 0x18]
cmp rsi, r14
jae 0x14003bc01
lea rax, [rsi + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r14, 8
jb 0x14003bbf1
mov rax, qword [rdi]
mov word [rax + rsi*2], r15w
mov word [rax + rsi*2 + 2], r10w
jmp 0x14003bcb9
mov rax, r9
sub rax, rsi
cmp rax, 1
jb 0x14003c13a
lea r13, [rsi + 1]
mov rbx, r13
or rbx, 7
cmp rbx, r9
jbe 0x14003bc29
mov rbx, r9
mov rcx, r11
jmp 0x14003bc52
mov rcx, r14
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp r14, rax
ja 0x14003bc21
lea rax, [r14 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, r11
ja 0x14003c140
add rcx, rcx
call fcn.140007894
mov rbp, rax
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
add rsi, rsi
mov r8, rsi
mov rcx, rax
cmp r14, 8
jb 0x14003bca0
mov rbx, qword [rdi]
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [rsi + rbp], r15w
xor eax, eax
mov word [rsi + rbp + 2], ax
lea rdx, [r14*2 + 2]
mov rcx, rbx
call fcn.140007850
xor r10d, r10d
jmp 0x14003bcb6
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [rsi + rbp], r15w
xor r10d, r10d
mov word [rsi + rbp + 2], r10w
mov qword [rdi], rbp
movzx eax, byte [rsp + 0x98]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx ebp, byte [rax + r9]
mov rsi, qword [rdi + 0x10]
mov r15, qword [rdi + 0x18]
cmp rsi, r15
jae 0x14003bcfd
lea rax, [rsi + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r15, 8
jb 0x14003bcee
mov rax, qword [rdi]
mov word [rax + rsi*2], bp
mov word [rax + rsi*2 + 2], r10w
jmp 0x14003bdd1
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, rsi
cmp rax, 1
jb 0x14003c13a
lea r13, [rsi + 1]
mov rbx, r13
or rbx, 7
cmp rbx, rdx
jbe 0x14003bd36
mov rbx, rdx
movabs rcx, 0x7fffffffffffffff
jmp 0x14003bd69
mov rcx, r15
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x14003bd27
lea rax, [r15 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14003c140
add rcx, rcx
call fcn.140007894
mov r14, rax
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
add rsi, rsi
mov r8, rsi
mov rcx, rax
cmp r15, 8
jb 0x14003bdb8
mov rbx, qword [rdi]
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], bp
xor eax, eax
mov word [r14 + rsi + 2], ax
lea rdx, [r15*2 + 2]
mov rcx, rbx
call fcn.140007850
xor r10d, r10d
jmp 0x14003bdce
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], bp
xor r10d, r10d
mov word [r14 + rsi + 2], r10w
mov qword [rdi], r14
movzx eax, byte [rsp + 0x20]
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx r15d, byte [rax + rsi]
mov rsi, qword [rdi + 0x10]
mov r14, qword [rdi + 0x18]
cmp rsi, r14
jae 0x14003be13
lea rax, [rsi + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r14, 8
jb 0x14003be03
mov rax, qword [rdi]
mov word [rax + rsi*2], r15w
mov word [rax + rsi*2 + 2], r10w
jmp 0x14003bee6
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, rsi
cmp rax, 1
jb 0x14003c13a
lea r13, [rsi + 1]
mov rbx, r13
or rbx, 7
cmp rbx, rdx
jbe 0x14003be4c
mov rbx, rdx
movabs rcx, 0x7fffffffffffffff
jmp 0x14003be7f
mov rcx, r14
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x14003be3d
lea rax, [r14 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14003c140
add rcx, rcx
call fcn.140007894
mov rbp, rax
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
add rsi, rsi
mov r8, rsi
mov rcx, rax
cmp r14, 8
jb 0x14003becd
mov rbx, qword [rdi]
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [rsi + rbp], r15w
xor eax, eax
mov word [rsi + rbp + 2], ax
lea rdx, [r14*2 + 2]
mov rcx, rbx
call fcn.140007850
xor r10d, r10d
jmp 0x14003bee3
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [rsi + rbp], r15w
xor r10d, r10d
mov word [rsi + rbp + 2], r10w
mov qword [rdi], rbp
sub r12, 3
mov rdx, qword [rsp + 0x88]
add rdx, 3
mov qword [rsp + 0x88], rdx
cmp r12, 3
movabs r9, 0x7ffffffffffffffe
movabs r11, 0x7fffffffffffffff
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
jae 0x14003ba70
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
sub r12, 1
je 0x14003c032
cmp r12, 1
jne 0x14003c125
movzx ecx, byte [rdx]
mov sil, byte [rdx + 1]
mov bl, cl
and bl, 3
shl bl, 4
mov al, sil
shr al, 4
or bl, al
and sil, 0xf
shl sil, 2
shr rcx, 2
movsx r9d, byte [rcx + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x14003bf92
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x14003bf85
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x14003bf9d
mov rcx, rdi
call fcn.140020f38
xor r10d, r10d
movzx eax, bl
movsx r9d, byte [rax + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x14003bfd1
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x14003bfc4
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x14003bfdc
mov rcx, rdi
call fcn.140020f38
xor r10d, r10d
movzx eax, sil
movsx r9d, byte [rax + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x14003c011
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x14003c004
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x14003c019
mov rcx, rdi
call fcn.140020f38
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jb 0x14003c0fc
mov r9d, 0x3d
jmp 0x14003c11d
movzx eax, byte [rdx]
mov bl, al
and bl, 3
shl bl, 4
shr rax, 2
movsx r9d, byte [rax + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x14003c072
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x14003c065
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x14003c07d
mov rcx, rdi
call fcn.140020f38
xor r10d, r10d
movzx eax, bl
movsx r9d, byte [rax + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x14003c0b1
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x14003c0a4
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x14003c0b9
mov rcx, rdi
call fcn.140020f38
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x14003c0e2
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x14003c0d8
mov rax, qword [rdi]
mov ebx, 0x3d
mov dword [rax + rcx*2], ebx
jmp 0x14003c0f2
mov ebx, 0x3d
mov r9d, ebx
mov rcx, rdi
call fcn.140020f38
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x14003c11a
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x14003c111
mov rax, qword [rdi]
mov dword [rax + rcx*2], 0x3d
jmp 0x14003c125
mov r9d, ebx
mov rcx, rdi
call fcn.140020f38
mov rax, rdi
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.140005c80
int3
call fcn.140003ca4
int3