Function at 0x140009250
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
mov r15, qword [rsp + 0x90]
and eax, 0xfffffff9
cmp eax, 1
jne 0x140009541
mov r14d, dword [rsp + 0xa8]
mov rbp, r8
mov r12, r9
and r14d, 4
test r9, r9
je 0x14000951e
xor ebx, ebx
xor esi, esi
xor r13d, r13d
xor edi, edi
mov r8d, 0x7a
mov r9d, 0x39
jmp 0x14000933b
xor ecx, 0x2d
xor eax, 0x5f
movsx ecx, cl
neg ecx
shr ecx, 8
not ecx
and ecx, 0x3e
movsx eax, al
neg eax
shr eax, 8
not eax
and eax, 0x3f
or ecx, eax
or edx, ecx
mov eax, edx
neg eax
shr eax, 8
not eax
and r11d, eax
movzx eax, r11b
or edx, eax
cmp edx, 0xff
je 0x1400093cb
shl esi, 6
lea rcx, [rdi + 6]
add esi, edx
cmp rcx, 7
jbe 0x14000932b
lea rcx, [rdi - 2]
cmp qword [rsp + 0x78], r13
jbe 0x1400094c5
mov rdi, qword [rsp + 0x70]
mov eax, esi
shr eax, cl
mov byte [rdi + r13], al
add r13, 1
add rbx, 1
mov rdi, rcx
cmp r12, rbx
jbe 0x1400093f9
movsx r10d, byte [rbp + rbx]
mov r11d, r8d
lea ecx, [r10 - 0x61]
sub r11d, r10d
lea edx, [r10 - 0x41]
mov eax, r10d
or r11d, ecx
lea ecx, [r10 - 0x47]
shr r11d, 8
not r11d
and r11d, ecx
mov ecx, 0x5a
sub ecx, r10d
or ecx, edx
shr ecx, 8
not ecx
and edx, ecx
mov ecx, r9d
or edx, r11d
sub ecx, r10d
lea r11d, [r10 - 0x30]
or ecx, r11d
lea r11d, [r10 + 4]
shr ecx, 8
not ecx
and ecx, r11d
mov r11d, r10d
xor r11d, 0x41
or ecx, edx
movsx r11d, r11b
movzx edx, cl
mov ecx, r10d
neg r11d
shr r11d, 8
test r14d, r14d
jne 0x1400092ba
xor ecx, 0x2b
xor eax, 0x2f
movsx ecx, cl
neg ecx
shr ecx, 8
not ecx
and ecx, 0x3e
jmp 0x1400092cd
test r15, r15
je 0x1400093f9
mov edx, r10d
mov rcx, r15
call sym.strchr
test rax, rax
je 0x1400093f9
add rbx, 1
mov r8d, 0x7a
mov r9d, 0x39
cmp r12, rbx
ja 0x14000933b
mov eax, 0xffffffff
cmp rdi, 4
jbe 0x140009449
xor r13d, r13d
cmp qword [rsp + 0xa0], 0
je 0x14000945a
lea rsi, [rbp + rbx]
mov rdi, qword [rsp + 0xa0]
mov qword [rdi], rsi
cmp qword [rsp + 0x98], 0
je 0x140009438
mov rdi, qword [rsp + 0x98]
mov qword [rdi], r13
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, edi
shl eax, cl
not eax
test eax, esi
je 0x140009461
mov eax, 0xffffffff
jmp 0x140009404
cmp r12, rbx
je 0x140009422
jmp 0x1400094a8
test byte [rsp + 0xa8], 2
je 0x1400094de
test r15, r15
je 0x1400094be
cmp r12, rbx
ja 0x140009480
jmp 0x1400094be
add rbx, 1
cmp rbx, r12
jae 0x1400094be
movsx edx, byte [rbp + rbx]
mov rcx, r15
lea rsi, [rbp + rbx]
call sym.strchr
test rax, rax
jne 0x140009477
xor eax, eax
cmp qword [rsp + 0xa0], 0
jne 0x140009417
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x16
mov eax, 0xffffffff
jmp 0x140009422
xor eax, eax
jmp 0x140009407
call qword [sym.imp.msvcrt.dll__errno]
xor r13d, r13d
mov dword [rax], 0x22
mov eax, 0xffffffff
jmp 0x140009407
shr rdi, 1
je 0x14000946b
cmp r12, rbx
ja 0x140009505
jmp 0x1400094c5
test r15, r15
je 0x140009528
mov rcx, r15
call sym.strchr
test rax, rax
je 0x140009528
add rbx, 1
cmp rbx, r12
jae 0x1400094c5
movsx edx, byte [rbp + rbx]
cmp edx, 0x3d
jne 0x1400094ea
add rbx, 1
sub rdi, 1
jne 0x140009500
jmp 0x14000946b
xor r13d, r13d
xor ebx, ebx
jmp 0x14000946b
call qword [sym.imp.msvcrt.dll__errno]
xor r13d, r13d
mov dword [rax], 0x16
mov eax, 0xffffffff
jmp 0x140009407
call sym.sodium_misuse
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop