Function at 0x140109f30
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
movdqa xmmword [rsp + 0x70], xmm6
mov rdi, rcx
test r8, r8
je 0x14010a38f
mov r13, rdx
cmp byte [rdx], 0
je 0x14010a06f
mov rbx, r9
mov r12, r8
lea r15, [r8 + 7]
mov ebp, 8
mov eax, 8
mov qword [rsp + 0x28], rax
cmp r15, 8
jb 0x140109fab
test r15, r15
js 0x14010a43c
mov r14, r15
and r14, 0xfffffffffffffff8
mov edx, 8
mov rcx, r14
call fcn.140020490
mov qword [rsp + 0x28], rax
test rax, rax
je 0x14010a443
mov r14, r15
shr r14, 3
xor esi, esi
mov eax, r12d
and eax, 7
setne sil
cmovne rbp, rax
mov rax, r12
shr rax, 3
add rsi, rax
cmp rsi, r14
ja 0x14010a37a
cmp r15, 8
jb 0x140109fee
mov r8, r15
and r8, 0xfffffffffffffff8
mov rcx, qword [rsp + 0x28]
xor edx, edx
call sub.msvcrt.dll_memset
test rsi, rsi
je 0x14010a07b
lea rcx, [rsi - 1]
cmp rcx, r14
jae 0x14010a36b
mov cl, 1
xor eax, eax
xor edx, edx
cmp rax, r12
jae 0x14010a05c
lea r8, [rdx + 1]
dec rbp
xor r9d, r9d
nop dword [rax]
movzx r10d, byte [r13 + rax]
inc rax
shl r9, 8
or r9, r10
sub rbp, 1
jb 0x14010a03d
cmp r12, rax
jne 0x14010a020
jmp 0x14010a05c
not rdx
add rdx, rsi
mov rcx, qword [rsp + 0x28]
mov qword [rcx + rdx*8], r9
mov ebp, 8
mov rdx, r8
cmp r8, rsi
setb cl
jne 0x14010a00a
test cl, 1
jne 0x14010a37a
cmp rax, r12
je 0x14010a086
jmp 0x14010a37a
lea rsi, [0x1402447a0]
jmp 0x14010a396
xor eax, eax
cmp rax, r12
jne 0x14010a37a
cmp r15, 0x407
jbe 0x14010a09d
mov ebx, 8
lea rsi, [0x14024624a]
jmp 0x14010a0fd
cmp r15, 0x20
jae 0x14010a0ba
mov ebx, 0xf
lea rsi, [0x140246298]
cmp r15, 8
jae 0x14010a0fd
jmp 0x14010a39b
mov rcx, qword [rsp + 0x28]
mov rdx, r14
call fcn.1401d99f0
test rax, rax
je 0x14010a0da
mov ebx, 0x10
lea rsi, [0x140246216]
jmp 0x14010a0fd
mov edx, 3
mov rcx, qword [rsp + 0x28]
mov r8, r14
call fcn.1401d9bb0
test rax, rax
je 0x14010a111
mov ebx, 0xf
lea rsi, [0x140246298]
mov edx, 8
mov rcx, qword [rsp + 0x28]
call fcn.140020450
jmp 0x14010a39b
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax]
call fcn.1401d1620
movq xmm6, rax
mov edx, 1
mov rcx, r14
lea rax, [rcx - 1]
cmp rcx, 2
mov r12, rax
cmovb r12, rdx
mov qword [rsp + 0x30], rax
cmp rax, r14
jae 0x14010a412
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x68], rcx
mov r13, qword [rax + rcx*8 - 8]
mov ebp, 0x40
xor ecx, ecx
test cl, 1
jne 0x14010a18b
mov rsi, rbp
dec rbp
mov rcx, r13
mov rdx, rbp
call fcn.1401da020
cmp rsi, 2
setb cl
mov edx, 1
cmovb rbp, rdx
test rax, rax
je 0x14010a15e
jmp 0x14010a1a7
cmp qword [rsp + 0x68], 2
jb 0x14010a40a
mov rcx, r12
test r12, r12
mov r13d, 0
jne 0x14010a12b
jmp 0x14010a1b6
mov rax, qword [rsp + 0x30]
shl rax, 6
add rsi, rax
mov r13, rsi
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r14
movdqu xmmword [rsp + 0x48], xmm6
and r15, 0xfffffffffffffff8
mov edx, 8
mov rcx, r15
call fcn.140020490
test rax, rax
je 0x14010a452
mov r12, rax
lea rcx, [r13 - 1]
mov rax, rcx
shr rax, 6
cmp rax, r14
jae 0x14010a428
mov edx, 1
shl rdx, cl
lea r15, [r13 + 0x3f]
and r15, 0xffffffffffffffc0
mov qword [r12 + rax*8], rdx
lea rsi, [r15 + 4]
dec rsi
cmp r13, rsi
je 0x14010a231
mov rcx, r12
mov rdx, r12
mov r8, qword [rsp + 0x28]
mov r9, r14
call fcn.1401d9de0
jmp 0x14010a214
shr r15, 1
lea r9, [rsp + 0x38]
mov rcx, r12
mov rdx, r14
mov r8, r15
call fcn.14010a6d0
mov r15, rax
mov r12, rdx
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], rdx
movdqu xmmword [rsp + 0x58], xmm6
mov r8, qword [rsp + 0xf8]
cmp r8, 0x3ff
jbe 0x14010a461
mov eax, r13d
and eax, 7
mov rdx, r13
shr rdx, 3
cmp rax, 1
sbb rdx, 0xffffffffffffffff
mov rax, rdx
shr rax, 0x3d
mov eax, 0xf
mov r10, qword [rsp + 0xf0]
jne 0x14010a2c6
shl rdx, 3
lea rcx, [0x140246242]
cmp rdx, r8
jae 0x14010a306
mov r8, rcx
mov eax, 8
jmp 0x14010a2cd
lea r8, [0x140246298]
mov qword [rdi + 8], r8
mov qword [rdi + 0x10], rax
mov qword [rdi], 0
mov edx, 8
mov rcx, qword [rsp + 0x28]
call fcn.140020450
test r12, r12
je 0x14010a3aa
mov edx, 8
mov rcx, r15
call fcn.140020450
jmp 0x14010a3aa
lea rdx, [0x14024624a]
cmp r13, qword [rsp + 0x100]
ja 0x14010a35e
cmp r10, 5
ja 0x14010a35e
lea r8, [0x1402447a0]
test r10, r10
je 0x14010a2cd
cmp byte [rbx], 0
je 0x14010a2cd
xor eax, eax
xor r9d, r9d
movzx r8d, byte [rbx + rax]
inc rax
shl r9, 8
or r9, r8
cmp r10, rax
jne 0x14010a333
test r8b, 1
jne 0x14010a3c3
mov eax, 0x10
lea r8, [0x140246216]
jmp 0x14010a2cd
mov r8, rdx
mov eax, 8
jmp 0x14010a2cd
dec rbp
dec r12
cmp rbp, r12
jbe 0x14010a47b
cmp r15, 8
jb 0x14010a38f
mov edx, 8
mov rcx, qword [rsp + 0x28]
call fcn.140020450
lea rsi, [0x140246298]
mov ebx, 0xf
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rbx
mov qword [rdi], 0
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r9, qword [rsp + 0x108]
jb 0x14010a2bc
mov rax, r9
shr rax, 0x21
mov r8, rdx
mov eax, 8
jne 0x14010a2cd
movups xmm0, xmmword [rsp + 0x38]
movups xmm1, xmmword [rsp + 0x48]
movups xmm2, xmmword [rsp + 0x58]
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov qword [rdi + 0x30], r9
mov qword [rdi + 0x38], r13
jmp 0x14010a3aa
xor r13d, r13d
jmp 0x14010a1b6
lea r8, str._Users_boob_.cargo_registry_src_mirrors.ustc.edu.cn_61ef6e0cd06fb9b8_ring_0.16.20_src_limb.rs
mov rcx, qword [rsp + 0x30]
mov rdx, r14
call fcn.140024f00
jmp 0x14010a48a
lea r8, [0x1402448e0]
mov rcx, rax
mov rdx, r14
call fcn.140024f00
jmp 0x14010a48a
call fcn.140020680
ud2
mov ecx, 8
mov rdx, r14
call fcn.1400206c0
ud2
mov ecx, 8
mov rdx, r15
call fcn.1400206c0
jmp 0x14010a48a
lea rcx, str.assertion_failed:_n_min_bits___N_MIN_BITS_Users_boob_.cargo_registry_src_mirrors.ustc.edu.cn_61ef6e0cd06fb9b8_ring_0.16.20_src_rsa_verification.rs
lea r8, [0x1402469f0]
mov edx, 0x2a
call fcn.140025cf0
jmp 0x14010a48a
lea r8, str._Users_boob_.cargo_registry_src_mirrors.ustc.edu.cn_61ef6e0cd06fb9b8_ring_0.16.20_src_limb.rs
mov rdx, r14
call fcn.140024f00
ud2