Function at 0x1402f01f0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
movsxd rbp, dword [rsp + 0xb0]
mov r11, rdx
mov edx, dword [rcx]
mov rsi, r8
mov r13, rcx
lea r8, [rcx + 8]
test edx, edx
jle 0x1402f03d0
movsxd rax, edx
xor r12d, r12d
mov r10d, 1
cmp byte [r8 + rax - 1], 0x3d
je 0x1402f03a8
xor eax, eax
test ebp, ebp
je 0x1402f02f6
test byte [r13 + 0x5c], 2
lea rcx, [0x1404af8a0]
lea rax, [0x1404af820]
cmove rax, rcx
test ebp, ebp
jle 0x1402f0590
mov qword [rsp + 0xa0], rsi
lea r10, [r9 + rbp]
mov r14, rax
xor ebp, ebp
movzx ecx, byte [r9]
add r9, 1
test cl, cl
js 0x1402f0390
movzx eax, cl
movzx ebx, byte [r14 + rax]
mov eax, ebx
cmp ebx, 0xff
je 0x1402f0390
cmp cl, 0x3d
je 0x1402f0310
test r12d, r12d
jle 0x1402f031a
or eax, 0x13
cmp al, 0xf3
jne 0x1402f0390
cmp ebx, 0xf2
je 0x1402f04f8
cmp edx, 0x40
je 0x1402f0345
cmp r9, r10
jne 0x1402f0271
mov rsi, qword [rsp + 0xa0]
xor ebx, ebx
test edx, edx
jg 0x1402f050f
mov ebx, edx
test r12d, r12d
sete r10b
test ebx, ebx
jne 0x1402f05b0
test r10b, r10b
jne 0x1402f05b0
xor edx, edx
xor eax, eax
mov dword [rsi], ebp
mov dword [r13], edx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add r12d, 1
cmp r12d, 3
je 0x1402f0390
cmp ebx, 0xf2
je 0x1402f04f8
or eax, 0x13
cmp al, 0xf3
je 0x1402f02b8
cmp edx, 0x3f
jg 0x1402f0390
movsxd rax, edx
add edx, 1
mov byte [r8 + rax], cl
cmp edx, 0x40
jne 0x1402f02c1
test byte [r13 + 0x5c], 2
lea rbx, [0x1404af820]
lea rcx, [r13 + 0x48]
mov rdx, r8
lea rax, [0x1404af8a0]
cmove rbx, rax
nop dword [rax + rax]
movzx eax, byte [rdx]
test al, al
js 0x1402f03e0
cmp byte [rbx + rax], 0xe0
jne 0x1402f03e0
add rdx, 1
cmp rdx, rcx
jne 0x1402f0368
test r12d, r12d
jg 0x1402f04e0
xor r15d, r15d
jmp 0x1402f052f
mov rsi, qword [rsp + 0xa0]
mov eax, 0xffffffff
jmp 0x1402f02f6
xor r10d, r10d
mov r12d, 1
cmp edx, 1
je 0x1402f0237
xor r12d, r12d
cmp byte [r8 + rax - 2], 0x3d
sete r12b
add r12d, 1
jmp 0x1402f0237
mov r10d, 1
xor r12d, r12d
jmp 0x1402f0237
lea eax, [r8 + 0x40]
sub eax, edx
cmp eax, 3
jle 0x1402f04e0
cdqe
jmp 0x1402f0415
movzx ecx, byte [rbx + rcx]
or ecx, 0x13
cmp cl, 0xf3
jne 0x1402f0578
sub rax, 1
cmp eax, 3
jle 0x1402f04e0
movzx ecx, byte [rdx + rax - 1]
mov edi, eax
test cl, cl
jns 0x1402f03f8
test al, 3
jne 0x1402f04e0
sub eax, 1
mov qword [rsp + 0x28], r14
mov rdi, r11
xor r15d, r15d
shr eax, 2
mov qword [rsp + 0x30], r8
add eax, 1
mov dword [rsp + 0x3c], r12d
lea rsi, [rdx + rax*4]
jmp 0x1402f04b9
movzx r8d, byte [rbx + rax]
movzx eax, byte [rdx + 1]
test al, al
js 0x1402f04d0
movzx ecx, byte [rdx + 2]
movzx eax, byte [rbx + rax]
test cl, cl
js 0x1402f04e0
movzx r12d, byte [rdx + 3]
add rdx, 4
movzx ecx, byte [rbx + rcx]
test r12b, r12b
js 0x1402f04e0
movzx r12d, byte [rbx + r12]
mov r14d, r12d
or r14d, r8d
or r14d, eax
or r14b, cl
js 0x1402f04e0
shl r8d, 0x12
shl eax, 0xc
add rdi, 3
add r15d, 3
or r12d, r8d
shl ecx, 6
or eax, r12d
or ecx, eax
shr eax, 0x10
mov byte [rdi - 3], al
mov byte [rdi - 2], ch
mov byte [rdi - 1], cl
cmp rsi, rdx
je 0x1402f0520
movzx eax, byte [rdx]
test al, al
jns 0x1402f0450
movzx eax, byte [rdx + 1]
mov r8d, 0xff
test al, al
jns 0x1402f045d
nop
movzx ecx, byte [rdx + 2]
mov eax, 0xff
test cl, cl
jns 0x1402f0469
nop dword [rax]
mov rsi, qword [rsp + 0xa0]
xor edx, edx
mov eax, 0xffffffff
jmp 0x1402f02f6
mov rsi, qword [rsp + 0xa0]
mov ebx, 1
xor eax, eax
test edx, edx
jle 0x1402f02f6
test dl, 3
je 0x1402f0544
neg ebx
sbb eax, eax
or eax, 1
jmp 0x1402f02f6
mov r14, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r12d, dword [rsp + 0x3c]
sub r15d, r12d
xor edx, edx
add ebp, r15d
movsxd r15, r15d
add r11, r15
jmp 0x1402f02c1
xor ebx, ebx
mov r9d, edx
mov rcx, r13
mov rdx, r11
call fcn.1402efd60
xor edx, edx
test r12d, r12d
cmovns edx, r12d
cmp edx, eax
jg 0x1402f04e8
sub eax, r12d
add ebp, eax
test ebx, ebx
je 0x1402f02da
jmp 0x1402f02f2
and edi, 3
je 0x1402f0428
jmp 0x1402f04e0
test edx, edx
jle 0x1402f05a7
mov ebp, edx
and ebp, 3
je 0x1402f0542
xor ebp, ebp
mov eax, 1
jmp 0x1402f02f6
mov ebx, edx
xor ebp, ebp
jmp 0x1402f02e1
mov edx, ebx
mov eax, 1
jmp 0x1402f02f6