Function at 0x140036ae0
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 0x140036b13
mov eax, 0x8fd
add rsp, 0x58
pop r12
pop rsi
ret
test rdx, rdx
je 0x140036b39
lea rax, [rsi + 3]
shr rax, 2
lea rcx, [rax + rax*2]
cmp qword [rdx], rcx
jae 0x140036b39
mov qword [rdx], rcx
mov eax, 0x514
add rsp, 0x58
pop r12
pop rsi
ret
test r9, r9
je 0x140036f3f
test rdx, rdx
je 0x140036f3f
test r12, r12
je 0x140036f3f
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 0x140036b9a
nop
movsx edx, byte [r12 + rsi - 1]
lea rcx, str._r_n_t
call fcn.1401044b0
test rax, rax
je 0x140036b90
inc r14
sub rsi, 1
jne 0x140036b70
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 0x140036eed
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 0x140036edb
movsx ecx, byte [rdi + r12]
call fcn.140113480
test eax, eax
jne 0x140036c0a
movsx ecx, byte [rdi + r12]
call fcn.1401136a0
test eax, eax
jne 0x140036c0a
movzx eax, byte [rdi + r12]
sub al, 0x2b
test al, 0xfb
jne 0x140036ece
movsx ecx, byte [rdi + r12 + 1]
call fcn.140113480
test eax, eax
jne 0x140036c38
movsx ecx, byte [rdi + r12 + 1]
call fcn.1401136a0
test eax, eax
jne 0x140036c38
movzx eax, byte [rdi + r12 + 1]
sub al, 0x2b
test al, 0xfb
jne 0x140036ece
movsx ecx, byte [rdi + r12 + 2]
call fcn.140113480
test eax, eax
jne 0x140036c7d
movsx ecx, byte [rdi + r12 + 2]
call fcn.1401136a0
test eax, eax
jne 0x140036c7d
movzx edx, byte [rdi + r12 + 2]
lea eax, [rdx - 0x2b]
test al, 0xfb
je 0x140036c7d
lea rcx, [rdi + 2]
lea rax, [rsi - 2]
cmp rcx, rax
jb 0x140036ece
cmp dl, 0x3d
jne 0x140036ece
movsx ecx, byte [rdi + r12 + 3]
call fcn.140113480
test eax, eax
jne 0x140036cc2
movsx ecx, byte [rdi + r12 + 3]
call fcn.1401136a0
test eax, eax
jne 0x140036cc2
movzx edx, byte [rdi + r12 + 3]
lea eax, [rdx - 0x2b]
test al, 0xfb
je 0x140036cc2
lea rcx, [rdi + 3]
lea rax, [rsi - 2]
cmp rcx, rax
jb 0x140036ece
cmp dl, 0x3d
jne 0x140036ece
movsx eax, byte [rdi + r12]
cmp al, 0x3d
jne 0x140036cd0
xor r15d, r15d
jmp 0x140036d14
cmp al, 0x2f
jne 0x140036cdc
mov r15d, 0x3f
jmp 0x140036d14
cmp al, 0x2b
jne 0x140036ce8
mov r15d, 0x3e
jmp 0x140036d14
mov ecx, eax
call fcn.1401136a0
movsx ecx, byte [rdi + r12]
test eax, eax
je 0x140036cfe
lea r15d, [rcx + 4]
jmp 0x140036d14
call fcn.140113800
movsx ecx, byte [rdi + r12]
lea r15d, [rcx - 0x47]
test eax, eax
jne 0x140036d14
lea r15d, [rcx - 0x41]
movsx eax, byte [rdi + r12 + 1]
cmp al, 0x3d
jne 0x140036d22
xor ebp, ebp
jmp 0x140036d65
cmp al, 0x2f
jne 0x140036d2d
mov ebp, 0x3f
jmp 0x140036d65
cmp al, 0x2b
jne 0x140036d38
mov ebp, 0x3e
jmp 0x140036d65
mov ecx, eax
call fcn.1401136a0
movsx ecx, byte [rdi + r12 + 1]
test eax, eax
je 0x140036d4e
lea ebp, [rcx + 4]
jmp 0x140036d65
call fcn.140113800
movsx ebp, byte [rdi + r12 + 1]
test eax, eax
je 0x140036d62
add ebp, 0xffffffb9
jmp 0x140036d65
add ebp, 0xffffffbf
movsx eax, byte [rdi + r12 + 2]
cmp al, 0x3d
jne 0x140036d73
xor ebx, ebx
jmp 0x140036db6
cmp al, 0x2f
jne 0x140036d7e
mov ebx, 0x3f
jmp 0x140036db6
cmp al, 0x2b
jne 0x140036d89
mov ebx, 0x3e
jmp 0x140036db6
mov ecx, eax
call fcn.1401136a0
movsx ecx, byte [rdi + r12 + 2]
test eax, eax
je 0x140036d9f
lea ebx, [rcx + 4]
jmp 0x140036db6
call fcn.140113800
movsx ebx, byte [rdi + r12 + 2]
test eax, eax
je 0x140036db3
add ebx, 0xffffffb9
jmp 0x140036db6
add ebx, 0xffffffbf
movsx eax, byte [rdi + r12 + 3]
cmp al, 0x3d
jne 0x140036dc4
xor ecx, ecx
jmp 0x140036e07
cmp al, 0x2f
jne 0x140036dcf
mov ecx, 0x3f
jmp 0x140036e07
cmp al, 0x2b
jne 0x140036dda
mov ecx, 0x3e
jmp 0x140036e07
mov ecx, eax
call fcn.1401136a0
movsx ecx, byte [rdi + r12 + 3]
test eax, eax
je 0x140036df0
add ecx, 4
jmp 0x140036e07
call fcn.140113800
movsx ecx, byte [rdi + r12 + 3]
test eax, eax
je 0x140036e04
add ecx, 0xffffffb9
jmp 0x140036e07
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 0x140036e66
cmp byte [rdi + r12 + 2], 0x3d
lea rax, [r13 + 1]
cmovne rax, r13
cmp byte [rdi + r12 + 3], 0x3d
mov r13, rax
jne 0x140036e63
inc r13
cmp rbx, rsi
jae 0x140036e94
nop dword [rax + rax]
movsx edx, byte [rbx + r12]
lea rcx, str._r_n_t
call fcn.1401044b0
test rax, rax
je 0x140036e94
inc r14
inc rdi
inc rbx
cmp rbx, rsi
jb 0x140036e70
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 0x140036bd0
jmp 0x140036edb
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 0x140036f28
mov rcx, qword [r8]
lea rax, [r14 + 3]
shr rax, 2
lea rax, [rax + rax*2]
sub rcx, rax
cmp rdx, rcx
jne 0x140036f28
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