Function at 0x140002c80
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push r12
sub rsp, 0x58
mov rsi, r9
mov r12, r8
mov r8, rdx
mov r9, rcx
cmp rsi, 0x2c00016
jbe 0x140002cb3
mov eax, 0x8fd
add rsp, 0x58
pop r12
pop rsi
ret
test rdx, rdx
je 0x140002cd9
lea rax, [rsi + 3]
shr rax, 2
lea rcx, [rax + rax*2]
cmp qword [rdx], rcx
jae 0x140002cd9
mov qword [rdx], rcx
mov eax, 0x514
add rsp, 0x58
pop r12
pop rsi
ret
test r9, r9
je 0x1400030df
test rdx, rdx
je 0x1400030df
test r12, r12
je 0x1400030df
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], r13
xor r13d, r13d
mov qword [rsp + 0x38], r14
xor r14d, r14d
test rsi, rsi
je 0x140002d3a
nop
movsx edx, byte [r12 + rsi - 1]
lea rcx, str._r_n_t
call fcn.1400ad320
test rax, rax
je 0x140002d30
inc r14
sub rsi, 1
jne 0x140002d10
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0x70]
xor edx, edx
xor edi, edi
mov qword [rsp + 0x88], rdx
cmp rsi, 3
jbe 0x14000308d
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x30], r15
lea r15, [r9 + 2]
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x50], rbp
nop dword [rax + rax]
mov rax, r15
sub rax, r9
cmp rax, qword [r8]
jae 0x14000307b
movsx ecx, byte [rdi + r12]
call fcn.1400bc1f0
test eax, eax
jne 0x140002daa
movsx ecx, byte [rdi + r12]
call fcn.1400bc410
test eax, eax
jne 0x140002daa
movzx eax, byte [rdi + r12]
sub al, 0x2b
test al, 0xfb
jne 0x14000306e
movsx ecx, byte [rdi + r12 + 1]
call fcn.1400bc1f0
test eax, eax
jne 0x140002dd8
movsx ecx, byte [rdi + r12 + 1]
call fcn.1400bc410
test eax, eax
jne 0x140002dd8
movzx eax, byte [rdi + r12 + 1]
sub al, 0x2b
test al, 0xfb
jne 0x14000306e
movsx ecx, byte [rdi + r12 + 2]
call fcn.1400bc1f0
test eax, eax
jne 0x140002e1d
movsx ecx, byte [rdi + r12 + 2]
call fcn.1400bc410
test eax, eax
jne 0x140002e1d
movzx edx, byte [rdi + r12 + 2]
lea eax, [rdx - 0x2b]
test al, 0xfb
je 0x140002e1d
lea rcx, [rdi + 2]
lea rax, [rsi - 2]
cmp rcx, rax
jb 0x14000306e
cmp dl, 0x3d
jne 0x14000306e
movsx ecx, byte [rdi + r12 + 3]
call fcn.1400bc1f0
test eax, eax
jne 0x140002e62
movsx ecx, byte [rdi + r12 + 3]
call fcn.1400bc410
test eax, eax
jne 0x140002e62
movzx edx, byte [rdi + r12 + 3]
lea eax, [rdx - 0x2b]
test al, 0xfb
je 0x140002e62
lea rcx, [rdi + 3]
lea rax, [rsi - 2]
cmp rcx, rax
jb 0x14000306e
cmp dl, 0x3d
jne 0x14000306e
movsx eax, byte [rdi + r12]
cmp al, 0x3d
jne 0x140002e70
xor r15d, r15d
jmp 0x140002eb4
cmp al, 0x2f
jne 0x140002e7c
mov r15d, 0x3f
jmp 0x140002eb4
cmp al, 0x2b
jne 0x140002e88
mov r15d, 0x3e
jmp 0x140002eb4
mov ecx, eax
call fcn.1400bc410
movsx ecx, byte [rdi + r12]
test eax, eax
je 0x140002e9e
lea r15d, [rcx + 4]
jmp 0x140002eb4
call fcn.1400bc570
movsx ecx, byte [rdi + r12]
lea r15d, [rcx - 0x47]
test eax, eax
jne 0x140002eb4
lea r15d, [rcx - 0x41]
movsx eax, byte [rdi + r12 + 1]
cmp al, 0x3d
jne 0x140002ec2
xor ebp, ebp
jmp 0x140002f05
cmp al, 0x2f
jne 0x140002ecd
mov ebp, 0x3f
jmp 0x140002f05
cmp al, 0x2b
jne 0x140002ed8
mov ebp, 0x3e
jmp 0x140002f05
mov ecx, eax
call fcn.1400bc410
movsx ecx, byte [rdi + r12 + 1]
test eax, eax
je 0x140002eee
lea ebp, [rcx + 4]
jmp 0x140002f05
call fcn.1400bc570
movsx ebp, byte [rdi + r12 + 1]
test eax, eax
je 0x140002f02
add ebp, 0xffffffb9
jmp 0x140002f05
add ebp, 0xffffffbf
movsx eax, byte [rdi + r12 + 2]
cmp al, 0x3d
jne 0x140002f13
xor ebx, ebx
jmp 0x140002f56
cmp al, 0x2f
jne 0x140002f1e
mov ebx, 0x3f
jmp 0x140002f56
cmp al, 0x2b
jne 0x140002f29
mov ebx, 0x3e
jmp 0x140002f56
mov ecx, eax
call fcn.1400bc410
movsx ecx, byte [rdi + r12 + 2]
test eax, eax
je 0x140002f3f
lea ebx, [rcx + 4]
jmp 0x140002f56
call fcn.1400bc570
movsx ebx, byte [rdi + r12 + 2]
test eax, eax
je 0x140002f53
add ebx, 0xffffffb9
jmp 0x140002f56
add ebx, 0xffffffbf
movsx eax, byte [rdi + r12 + 3]
cmp al, 0x3d
jne 0x140002f64
xor ecx, ecx
jmp 0x140002fa7
cmp al, 0x2f
jne 0x140002f6f
mov ecx, 0x3f
jmp 0x140002fa7
cmp al, 0x2b
jne 0x140002f7a
mov ecx, 0x3e
jmp 0x140002fa7
mov ecx, eax
call fcn.1400bc410
movsx ecx, byte [rdi + r12 + 3]
test eax, eax
je 0x140002f90
add ecx, 4
jmp 0x140002fa7
call fcn.1400bc570
movsx ecx, byte [rdi + r12 + 3]
test eax, eax
je 0x140002fa4
add ecx, 0xffffffb9
jmp 0x140002fa7
add ecx, 0xffffffbf
shl r15b, 2
movzx eax, bpl
shr al, 4
and cl, 0x3f
and al, 3
shl bpl, 4
or al, r15b
mov r15, qword [rsp + 0x20]
mov byte [r15 - 2], al
movzx eax, bl
shr al, 2
shl bl, 6
and al, 0xf
or cl, bl
or al, bpl
lea rbx, [rdi + 4]
mov byte [r15 - 1], al
mov byte [r15], cl
cmp rbx, rsi
jne 0x140003006
cmp byte [rdi + r12 + 2], 0x3d
lea rax, [r13 + 1]
cmovne rax, r13
cmp byte [rdi + r12 + 3], 0x3d
mov r13, rax
jne 0x140003003
inc r13
cmp rbx, rsi
jae 0x140003034
nop dword [rax + rax]
movsx edx, byte [rbx + r12]
lea rcx, str._r_n_t
call fcn.1400ad320
test rax, rax
je 0x140003034
inc r14
inc rdi
inc rbx
cmp rbx, rsi
jb 0x140003010
mov rdx, qword [rsp + 0x88]
add rdi, 4
mov r8, qword [rsp + 0x78]
add rdx, 3
mov r9, qword [rsp + 0x70]
add r15, 3
mov qword [rsp + 0x88], rdx
lea rax, [rdi + 3]
mov qword [rsp + 0x20], r15
cmp rax, rsi
jb 0x140002d70
jmp 0x14000307b
mov r8, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x80]
mov r15, qword [rsp + 0x30]
cmp rdi, rsi
mov rdi, qword [rsp + 0x48]
jne 0x1400030c8
mov rcx, qword [r8]
lea rax, [r14 + 3]
shr rax, 2
lea rax, [rax + rax*2]
sub rcx, rax
cmp rdx, rcx
jne 0x1400030c8
mov r14, qword [rsp + 0x38]
sub rdx, r13
mov r13, qword [rsp + 0x40]
xor eax, eax
mov qword [r8], rdx
add rsp, 0x58
pop r12
pop rsi
ret
mov r13, qword [rsp + 0x40]
mov eax, 0x5dc
mov r14, qword [rsp + 0x38]
add rsp, 0x58
pop r12
pop rsi
ret
mov eax, 0x8fc
add rsp, 0x58
pop r12
pop rsi
ret