Function at 0x1400356d0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push rdi
push r14
mov rdi, qword [r8]
mov rsi, 0xffffffffffffffff
mov rax, rsi
mov r14, r8
mov rbx, rdx
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400356f0
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x30], r15
cmp rax, 3
jb 0x140035a9d
cmp byte [rcx], 0x30
jne 0x140035a9d
movzx eax, byte [rcx + 1]
add rcx, 2
cmp al, 0x42
je 0x140035809
cmp al, 0x58
je 0x140035740
cmp al, 0x62
je 0x140035809
cmp al, 0x78
jne 0x140035a9d
nop
inc rsi
cmp byte [rcx + rsi], 0
jne 0x140035740
test sil, 1
je 0x14003576c
movsx eax, byte [rcx]
inc rcx
cmp al, 0x39
jg 0x14003575e
add eax, 0xffffffd0
jmp 0x140035764
add eax, 0xfffffff9
and eax, 0xf
inc rbx
mov byte [rdx], al
dec rdi
movzx r9d, byte [rcx]
test r9b, r9b
je 0x1400357ff
movabs r10, 0x7e0000007e03ff
test rdi, rdi
je 0x140035a96
lea eax, [r9 - 0x30]
cmp al, 0x36
ja 0x140035a9d
bt r10, rax
jae 0x140035a9d
movsx r8d, byte [rcx + 1]
add rcx, 2
lea eax, [r8 - 0x30]
cmp al, 9
jbe 0x1400357c7
lea eax, [r8 - 0x61]
cmp al, 5
jbe 0x1400357c7
lea eax, [r8 - 0x41]
cmp al, 5
ja 0x140035a9d
movsx edx, r9b
cmp r9b, 0x39
lea eax, [rdx - 0x37]
cmovg edx, eax
mov eax, r8d
cmp r8b, 0x39
jg 0x1400357e3
add eax, 0xffffffd0
jmp 0x1400357e9
add eax, 0xfffffff9
and eax, 0xf
shl dl, 4
dec rdi
or dl, al
mov byte [rbx], dl
inc rbx
movzx r9d, byte [rcx]
test r9b, r9b
jne 0x140035783
sub qword [r14], rdi
xor eax, eax
jmp 0x140035aa2
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140035810
test al, 3
jne 0x140035a9d
movzx r8d, byte [rcx]
mov rax, rdi
test r8b, r8b
je 0x140035a8c
mov ebp, 0x3f
movabs r15, 0xffffffc07ff1
movabs r12, 0xffffffc47ff1
nop word [rax + rax]
test rdi, rdi
je 0x140035a96
lea eax, [r8 - 0x2b]
cmp al, 0x2f
ja 0x14003586b
movsx rax, al
bt r15, rax
jb 0x140035877
lea eax, [r8 - 0x61]
cmp al, 0x19
ja 0x140035a9d
movsx r11d, byte [rcx + 1]
lea eax, [r11 - 0x2b]
cmp al, 0x2f
ja 0x14003588e
movsx rax, al
bt r15, rax
jb 0x14003589a
lea eax, [r11 - 0x61]
cmp al, 0x19
ja 0x140035a9d
movsx r9d, byte [rcx + 2]
lea eax, [r9 - 0x2b]
cmp al, 0x2f
ja 0x1400358b1
movsx rax, al
bt r12, rax
jb 0x1400358bd
lea eax, [r9 - 0x61]
cmp al, 0x19
ja 0x140035a9d
movsx r10d, byte [rcx + 3]
add rcx, 4
cmp r9b, 0x3d
jne 0x1400358d5
cmp r10b, r9b
jne 0x140035a9d
lea eax, [r10 - 0x2b]
cmp al, 0x2f
ja 0x1400358e7
movsx rax, al
bt r12, rax
jb 0x1400358f3
lea eax, [r10 - 0x61]
cmp al, 0x19
ja 0x140035a9d
lea eax, [r8 - 0x41]
cmp al, 0x19
ja 0x140035904
movsx edx, r8b
sub edx, 0x41
jmp 0x14003593c
lea eax, [r8 - 0x61]
cmp al, 0x19
ja 0x140035915
movsx edx, r8b
sub edx, 0x47
jmp 0x14003593c
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x140035926
movsx edx, r8b
add edx, 4
jmp 0x14003593c
cmp r8b, 0x2b
jne 0x140035933
mov edx, 0x3e
jmp 0x14003593c
cmp r8b, 0x2f
mov edx, esi
cmove edx, ebp
lea eax, [r11 - 0x41]
cmp al, 0x19
ja 0x14003594a
lea eax, [r11 - 0x41]
jmp 0x14003597c
lea eax, [r11 - 0x61]
cmp al, 0x19
ja 0x140035958
lea eax, [r11 - 0x47]
jmp 0x14003597c
lea eax, [r11 - 0x30]
cmp al, 9
ja 0x140035966
lea eax, [r11 + 4]
jmp 0x14003597c
cmp r11b, 0x2b
jne 0x140035973
mov eax, 0x3e
jmp 0x14003597c
cmp r11b, 0x2f
mov eax, esi
cmove eax, ebp
shl edx, 6
or edx, eax
shl edx, 0xc
cmp r9b, 0x3d
jne 0x14003599e
cmp byte [rcx], 0
jne 0x140035a9d
shr edx, 0x10
mov rax, rsi
jmp 0x140035a74
lea eax, [r9 - 0x41]
cmp al, 0x19
ja 0x1400359ac
lea eax, [r9 - 0x41]
jmp 0x1400359de
lea eax, [r9 - 0x61]
cmp al, 0x19
ja 0x1400359ba
lea eax, [r9 - 0x47]
jmp 0x1400359de
lea eax, [r9 - 0x30]
cmp al, 9
ja 0x1400359c8
lea eax, [r9 + 4]
jmp 0x1400359de
cmp r9b, 0x2b
jne 0x1400359d5
mov eax, 0x3e
jmp 0x1400359de
cmp r9b, 0x2f
mov eax, esi
cmove eax, ebp
shl eax, 6
or edx, eax
cmp r10b, 0x3d
jne 0x140035a12
cmp byte [rcx], 0
jne 0x140035a9d
cmp rdi, 2
jb 0x140035a96
mov eax, edx
shr eax, 0x10
mov byte [rbx], al
inc rbx
shr edx, 8
mov rax, 0xfffffffffffffffe
jmp 0x140035a74
lea eax, [r10 - 0x41]
cmp al, 0x19
ja 0x140035a20
lea eax, [r10 - 0x41]
jmp 0x140035a52
lea eax, [r10 - 0x61]
cmp al, 0x19
ja 0x140035a2e
lea eax, [r10 - 0x47]
jmp 0x140035a52
lea eax, [r10 - 0x30]
cmp al, 9
ja 0x140035a3c
lea eax, [r10 + 4]
jmp 0x140035a52
cmp r10b, 0x2b
jne 0x140035a49
mov eax, 0x3e
jmp 0x140035a52
cmp r10b, 0x2f
mov eax, esi
cmove eax, ebp
or edx, eax
cmp rdi, 3
jb 0x140035a96
mov eax, edx
shr eax, 0x10
mov byte [rbx], al
mov eax, edx
shr eax, 8
mov byte [rbx + 1], al
add rbx, 2
mov rax, 0xfffffffffffffffd
mov byte [rbx], dl
add rdi, rax
movzx r8d, byte [rcx]
inc rbx
test r8b, r8b
jne 0x140035850
mov rax, qword [r14]
sub rax, rdi
mov qword [r14], rax
xor eax, eax
jmp 0x140035aa2
mov eax, 0xffffffd7
jmp 0x140035aa2
mov eax, 0xffffffcb
mov r15, qword [rsp + 0x30]
mov r12, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x38]
pop r14
pop rdi
pop rsi
ret