Function at 0x140011820
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov eax, dword [rsp + 0xa8]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rdx
and eax, 0xfffffff9
cmp eax, 1
jne 0x140011bc6
mov r15d, dword [rsp + 0xa8]
mov rdi, r8
mov r13, r9
and r15d, 4
test r9, r9
je 0x140011b65
mov ebx, 1
xor esi, esi
xor r14d, r14d
xor ebp, ebp
mov r9d, 0x7a
mov r8d, 0x5a
jmp 0x140011914
xor r10d, 0x2d
xor eax, 0x5f
movsx r10d, r10b
movsx eax, al
neg r10d
neg eax
shr r10d, 8
shr eax, 8
not r10d
not eax
and eax, 0x3f
and r10d, 0x3e
or r10d, eax
or r10d, edx
mov edx, r10d
neg edx
shr edx, 8
not edx
and edx, r11d
movzx eax, dl
or eax, r10d
cmp eax, 0xff
je 0x1400119db
shl esi, 6
lea rcx, [rbp + 6]
add esi, eax
cmp rcx, 7
jbe 0x140011901
lea rcx, [rbp - 2]
cmp r14, qword [rsp + 0x78]
jae 0x140011af0
mov rdx, qword [rsp + 0x70]
mov eax, esi
shr eax, cl
mov byte [rdx + r14], al
add r14, 1
mov rbp, rcx
lea rax, [rbx + 1]
cmp rbx, r13
jae 0x140011a90
mov rbx, rax
movsx ecx, byte [rdi + rbx - 1]
mov r10d, r9d
lea r12, [rbx - 1]
lea edx, [rcx - 0x61]
sub r10d, ecx
lea r11d, [rcx - 0x41]
mov eax, ecx
or r10d, edx
lea edx, [rcx - 0x47]
shr r10d, 8
not r10d
and r10d, edx
mov edx, r8d
sub edx, ecx
or edx, r11d
shr edx, 8
not edx
and edx, r11d
lea r11d, [rcx - 0x30]
or edx, r10d
mov r10d, 0x39
sub r10d, ecx
or r10d, r11d
lea r11d, [rcx + 4]
shr r10d, 8
not r10d
and r10d, r11d
mov r11d, ecx
xor r11d, 0x41
or edx, r10d
mov r10d, ecx
movsx r11d, r11b
movzx edx, dl
neg r11d
shr r11d, 8
test r15d, r15d
jne 0x140011888
xor r10d, 0x2b
xor eax, 0x2f
movsx r10d, r10b
movsx eax, al
neg r10d
neg eax
shr r10d, 8
shr eax, 8
not r10d
not eax
and eax, 0x3f
and r10d, 0x3e
or r10d, eax
or r10d, edx
mov eax, r10d
neg eax
shr eax, 8
not eax
and eax, r11d
movzx eax, al
or eax, r10d
cmp eax, 0xff
jne 0x1400118d2
cmp qword [rsp + 0x90], 0
je 0x140011a0a
mov edx, ecx
mov rcx, qword [rsp + 0x90]
call sym.strchr
mov r9d, 0x7a
mov r8d, 0x5a
test rax, rax
jne 0x140011904
mov eax, 0xffffffff
cmp rbp, 4
jbe 0x140011a60
xor r14d, r14d
cmp qword [rsp + 0xa0], 0
je 0x140011a78
mov rsi, qword [rsp + 0xa0]
add rdi, r12
mov qword [rsi], rdi
cmp qword [rsp + 0x98], 0
je 0x140011a47
mov rdi, qword [rsp + 0x98]
mov qword [rdi], r14
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, ebp
shl eax, cl
not eax
test eax, esi
je 0x140011aa0
mov eax, 0xffffffff
jmp 0x140011a15
cmp r13, r12
je 0x140011a31
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x16
mov eax, 0xffffffff
jmp 0x140011a31
mov r12, rbx
jmp 0x140011a0a
mov eax, dword [rsp + 0xa8]
and eax, 2
je 0x140011b09
cmp qword [rsp + 0x90], 0
je 0x140011ae7
cmp r12, r13
jae 0x140011ae7
mov rbx, qword [rsp + 0x90]
nop dword [rax]
movsx edx, byte [rdi + r12]
mov rcx, rbx
call sym.strchr
test rax, rax
je 0x140011a18
add r12, 1
cmp r12, r13
jb 0x140011ac8
xor eax, eax
jmp 0x140011a18
call qword [sym.imp.msvcrt.dll__errno]
xor r14d, r14d
mov dword [rax], 0x22
mov eax, 0xffffffff
jmp 0x140011a18
shr rbp, 1
je 0x140011aac
cmp r12, r13
jae 0x140011af0
cmp qword [rsp + 0x90], 0
je 0x140011b86
mov rbx, qword [rsp + 0x90]
jmp 0x140011b46
mov rcx, rbx
call sym.strchr
test rax, rax
je 0x140011bad
add r12, 1
cmp r12, r13
jae 0x140011af0
movsx edx, byte [rdi + r12]
cmp edx, 0x3d
jne 0x140011b30
add r12, 1
cmp rbp, 1
je 0x140011ab7
mov ebp, 1
jmp 0x140011b41
xor r14d, r14d
xor eax, eax
cmp qword [rsp + 0xa0], 0
je 0x140011a31
xor r12d, r12d
xor r14d, r14d
xor eax, eax
jmp 0x140011a23
add rbp, r12
jmp 0x140011ba6
add r12, 1
cmp r12, rbp
je 0x140011a18
cmp r12, r13
jae 0x140011af0
cmp byte [rdi + r12], 0x3d
je 0x140011b90
call qword [sym.imp.msvcrt.dll__errno]
xor r14d, r14d
mov dword [rax], 0x16
mov eax, 0xffffffff
jmp 0x140011a18
call sym.sodium_misuse
nop
nop
nop
nop
nop