Function at 0x180002690
Capabilities:
Encode data using base64

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x40], 0xfffffffffffffffe
mov qword [rsp + 0xc0], rbx
mov rax, qword [0x18001c010]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rdi, rdx
mov rsi, rcx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x38], rdx
mov rbx, qword [rdx + 0x10]
xor r14d, r14d
test rbx, rbx
jne 0x180002791
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x18], 0xf
mov byte [rcx], r14b
xor r8d, r8d
lea rdx, [0x1800147f9]
call fcn.18000dcf0
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800029da
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1800029d5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
jbe 0x1800029d2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
nop
inc r8
cmp byte [r14 + r8], r14b
jne 0x180002740
xor edx, edx
call fcn.18000dcf0
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800029da
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1800029d5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
jbe 0x1800029d2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], r14b
movabs rax, 0xaaaaaaaaaaaaaaab
mul rbx
shr rdx, 1
shl edx, 2
movsxd r15, edx
add r15, 5
lea rcx, [rbp - 0x30]
cmp r15, 0xf
ja 0x1800027db
mov qword [rbp - 0x20], r15
mov r8, r15
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov byte [rbp + r15 - 0x30], 0
jmp 0x1800027e6
mov r9, r15
mov rdx, r15
call fcn.18000ed60
mov rax, r14
mov r11, r14
test rbx, rbx
je 0x180002916
nop word [rax + rax]
mov rdx, rdi
mov rcx, qword [rdi + 0x18]
cmp rcx, 0x10
jb 0x180002810
mov rdx, qword [rdi]
movzx r9d, byte [rdx + r11]
lea r15, [r11 + 2]
lea r13, [r15 - 1]
cmp r13, rbx
jae 0x180002836
mov rdx, rdi
cmp rcx, 0x10
jb 0x18000282e
mov rdx, qword [rdi]
movzx r8d, byte [rdx + r11 + 1]
jmp 0x180002839
xor r8b, r8b
cmp r15, rbx
jae 0x180002852
mov rdx, rdi
cmp rcx, 0x10
jb 0x18000284a
mov rdx, qword [rdi]
movzx r12d, byte [rdx + r11 + 2]
jmp 0x180002855
xor r12b, r12b
movzx r9d, r9b
movzx r8d, r8b
mov edx, r9d
and edx, 3
shl edx, 4
mov r10d, r8d
shr r10d, 4
add r10d, edx
movzx r12d, r12b
and r8d, 0xf
mov ecx, r12d
shr ecx, 6
lea r8d, [rcx + r8*4]
and r12d, 0x3f
shr r9, 2
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx edx, byte [r9 + rcx]
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rcx, qword [rbp - 0x30]
mov byte [rcx + rax], dl
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx edx, byte [r10 + r9]
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rcx, qword [rbp - 0x30]
mov byte [rcx + rax + 1], dl
cmp r13, rbx
jae 0x1800028d1
movzx edx, byte [r8 + r9]
jmp 0x1800028d3
mov dl, 0x3d
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rcx, qword [rbp - 0x30]
mov byte [rcx + rax + 2], dl
cmp r15, rbx
jae 0x1800028f1
movzx edx, byte [r12 + r9]
jmp 0x1800028f3
mov dl, 0x3d
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rcx, qword [rbp - 0x30]
mov byte [rcx + rax + 3], dl
add rax, 4
add r11, 3
cmp r11, rbx
jb 0x180002800
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rcx, qword [rbp - 0x30]
mov byte [rcx + rax], 0
mov rdx, qword [rbp - 0x20]
cmp rax, rdx
ja 0x180002949
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rcx, qword [rbp - 0x30]
mov qword [rbp - 0x20], rax
mov byte [rcx + rax], 0
jmp 0x180002995
mov r15, rax
sub r15, rdx
mov r8, qword [rbp - 0x18]
mov rcx, r8
sub rcx, rdx
cmp r15, rcx
ja 0x180002986
mov qword [rbp - 0x20], rax
lea rbx, [rbp - 0x30]
cmp r8, 0x10
cmovae rbx, qword [rbp - 0x30]
add rbx, rdx
mov r8, r15
xor edx, edx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
mov byte [rbx + r15], 0
jmp 0x180002995
mov r9, r15
mov rdx, r15
lea rcx, [rbp - 0x30]
call fcn.18000ed60
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rsi + 0x10], xmm1
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800029da
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1800029d5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180002a10
mov rcx, r8
call fcn.180011344
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rax, rsi
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180011320
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3