Function at 0x140002cc0
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 0x140002cf3
mov eax, 0x8fd
add rsp, 0x58
pop r12
pop rsi
ret
test rdx, rdx
je 0x140002d19
lea rax, [rsi + 3]
shr rax, 2
lea rcx, [rax + rax*2]
cmp qword [rdx], rcx
jae 0x140002d19
mov qword [rdx], rcx
mov eax, 0x514
add rsp, 0x58
pop r12
pop rsi
ret
test r9, r9
je 0x14000311f
test rdx, rdx
je 0x14000311f
test r12, r12
je 0x14000311f
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 0x140002d7a
nop
movsx edx, byte [r12 + rsi - 1]
lea rcx, str._r_n_t
call fcn.1400ad730
test rax, rax
je 0x140002d70
inc r14
sub rsi, 1
jne 0x140002d50
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 0x1400030cd
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 0x1400030bb
movsx ecx, byte [rdi + r12]
call fcn.1400bc600
test eax, eax
jne 0x140002dea
movsx ecx, byte [rdi + r12]
call fcn.1400bc820
test eax, eax
jne 0x140002dea
movzx eax, byte [rdi + r12]
sub al, 0x2b
test al, 0xfb
jne 0x1400030ae
movsx ecx, byte [rdi + r12 + 1]
call fcn.1400bc600
test eax, eax
jne 0x140002e18
movsx ecx, byte [rdi + r12 + 1]
call fcn.1400bc820
test eax, eax
jne 0x140002e18
movzx eax, byte [rdi + r12 + 1]
sub al, 0x2b
test al, 0xfb
jne 0x1400030ae
movsx ecx, byte [rdi + r12 + 2]
call fcn.1400bc600
test eax, eax
jne 0x140002e5d
movsx ecx, byte [rdi + r12 + 2]
call fcn.1400bc820
test eax, eax
jne 0x140002e5d
movzx edx, byte [rdi + r12 + 2]
lea eax, [rdx - 0x2b]
test al, 0xfb
je 0x140002e5d
lea rcx, [rdi + 2]
lea rax, [rsi - 2]
cmp rcx, rax
jb 0x1400030ae
cmp dl, 0x3d
jne 0x1400030ae
movsx ecx, byte [rdi + r12 + 3]
call fcn.1400bc600
test eax, eax
jne 0x140002ea2
movsx ecx, byte [rdi + r12 + 3]
call fcn.1400bc820
test eax, eax
jne 0x140002ea2
movzx edx, byte [rdi + r12 + 3]
lea eax, [rdx - 0x2b]
test al, 0xfb
je 0x140002ea2
lea rcx, [rdi + 3]
lea rax, [rsi - 2]
cmp rcx, rax
jb 0x1400030ae
cmp dl, 0x3d
jne 0x1400030ae
movsx eax, byte [rdi + r12]
cmp al, 0x3d
jne 0x140002eb0
xor r15d, r15d
jmp 0x140002ef4
cmp al, 0x2f
jne 0x140002ebc
mov r15d, 0x3f
jmp 0x140002ef4
cmp al, 0x2b
jne 0x140002ec8
mov r15d, 0x3e
jmp 0x140002ef4
mov ecx, eax
call fcn.1400bc820
movsx ecx, byte [rdi + r12]
test eax, eax
je 0x140002ede
lea r15d, [rcx + 4]
jmp 0x140002ef4
call fcn.1400bc980
movsx ecx, byte [rdi + r12]
lea r15d, [rcx - 0x47]
test eax, eax
jne 0x140002ef4
lea r15d, [rcx - 0x41]
movsx eax, byte [rdi + r12 + 1]
cmp al, 0x3d
jne 0x140002f02
xor ebp, ebp
jmp 0x140002f45
cmp al, 0x2f
jne 0x140002f0d
mov ebp, 0x3f
jmp 0x140002f45
cmp al, 0x2b
jne 0x140002f18
mov ebp, 0x3e
jmp 0x140002f45
mov ecx, eax
call fcn.1400bc820
movsx ecx, byte [rdi + r12 + 1]
test eax, eax
je 0x140002f2e
lea ebp, [rcx + 4]
jmp 0x140002f45
call fcn.1400bc980
movsx ebp, byte [rdi + r12 + 1]
test eax, eax
je 0x140002f42
add ebp, 0xffffffb9
jmp 0x140002f45
add ebp, 0xffffffbf
movsx eax, byte [rdi + r12 + 2]
cmp al, 0x3d
jne 0x140002f53
xor ebx, ebx
jmp 0x140002f96
cmp al, 0x2f
jne 0x140002f5e
mov ebx, 0x3f
jmp 0x140002f96
cmp al, 0x2b
jne 0x140002f69
mov ebx, 0x3e
jmp 0x140002f96
mov ecx, eax
call fcn.1400bc820
movsx ecx, byte [rdi + r12 + 2]
test eax, eax
je 0x140002f7f
lea ebx, [rcx + 4]
jmp 0x140002f96
call fcn.1400bc980
movsx ebx, byte [rdi + r12 + 2]
test eax, eax
je 0x140002f93
add ebx, 0xffffffb9
jmp 0x140002f96
add ebx, 0xffffffbf
movsx eax, byte [rdi + r12 + 3]
cmp al, 0x3d
jne 0x140002fa4
xor ecx, ecx
jmp 0x140002fe7
cmp al, 0x2f
jne 0x140002faf
mov ecx, 0x3f
jmp 0x140002fe7
cmp al, 0x2b
jne 0x140002fba
mov ecx, 0x3e
jmp 0x140002fe7
mov ecx, eax
call fcn.1400bc820
movsx ecx, byte [rdi + r12 + 3]
test eax, eax
je 0x140002fd0
add ecx, 4
jmp 0x140002fe7
call fcn.1400bc980
movsx ecx, byte [rdi + r12 + 3]
test eax, eax
je 0x140002fe4
add ecx, 0xffffffb9
jmp 0x140002fe7
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 0x140003046
cmp byte [rdi + r12 + 2], 0x3d
lea rax, [r13 + 1]
cmovne rax, r13
cmp byte [rdi + r12 + 3], 0x3d
mov r13, rax
jne 0x140003043
inc r13
cmp rbx, rsi
jae 0x140003074
nop dword [rax + rax]
movsx edx, byte [rbx + r12]
lea rcx, str._r_n_t
call fcn.1400ad730
test rax, rax
je 0x140003074
inc r14
inc rdi
inc rbx
cmp rbx, rsi
jb 0x140003050
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 0x140002db0
jmp 0x1400030bb
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 0x140003108
mov rcx, qword [r8]
lea rax, [r14 + 3]
shr rax, 2
lea rax, [rax + rax*2]
sub rcx, rax
cmp rdx, rcx
jne 0x140003108
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