Function at 0x100adaf0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rbp, qword [rdx]
test rbp, rbp
je 0x100adf83
mov r14, rcx
mov rcx, rbp
shr rcx, 0x3d
jne 0x100adf9d
test r9, r9
je 0x100adfb7
mov rcx, rbp
shr rcx, 0x20
mov rax, rbp
shl rax, 0x20
mov edx, dword [rdx + 0x18]
lea ebx, [rdx - 0x20]
test rcx, rcx
cmovne rax, rbp
cmovne ebx, edx
mov rcx, rax
shr rcx, 0x30
mov rdx, rax
shl rdx, 0x10
lea ebp, [rbx - 0x10]
test rcx, rcx
cmovne rdx, rax
cmovne ebp, ebx
mov rcx, rdx
shr rcx, 0x38
mov rax, rdx
shl rax, 8
lea ebx, [rbp - 8]
test rcx, rcx
cmovne rax, rdx
cmovne ebx, ebp
mov rdx, rax
shr rdx, 0x3c
mov rcx, rax
shl rcx, 4
lea ebp, [rbx - 4]
test rdx, rdx
cmovne rcx, rax
cmovne ebp, ebx
mov rax, rcx
shr rax, 0x3e
lea rdx, [rcx*4]
lea ebx, [rbp - 2]
test rax, rax
cmovne rdx, rcx
cmovne ebx, ebp
mov rdi, rdx
sar rdi, 0x3f
not edi
add edi, ebx
mov eax, 0xffffffa0
sub eax, edi
cwde
lea eax, [rax + rax*4]
shl eax, 4
add eax, 0x153b0
cdqe
imul rax, rax, 0x7b4dc993
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x2a
add eax, ecx
movsxd r10, eax
cmp r10d, 0x51
jae 0x100adf6d
test rdx, rdx
setns cl
shl rdx, cl
shl r10, 4
lea r15, [0x10575518]
mov rbx, qword [r10 + r15]
mov rcx, rdx
shr rcx, 0x20
mov esi, edx
mov ebp, ebx
mov rdx, rbx
shr rdx, 0x20
mov rbx, rdx
imul rbx, rcx
imul rdx, rsi
imul rcx, rbp
imul rbp, rsi
shr rbp, 0x20
mov eax, ecx
add rax, rbp
mov esi, edx
add rsi, rax
sub rsi, 0xffffffff80000000
shr rcx, 0x20
add rcx, rbx
shr rdx, 0x20
add rdx, rcx
shr rsi, 0x20
add rsi, rdx
add di, word [r10 + r15 + 8]
mov ebx, 0xffffffc0
sub ebx, edi
mov r11d, ebx
and r11d, 0x3f
mov rdx, rsi
mov ecx, r11d
shr rdx, cl
movzx r12d, word [rsp + 0xd0]
movzx eax, word [r10 + r15 + 0xa]
mov edi, 1
shl rdi, cl
cmp edx, 0x2710
jae 0x100adcab
cmp edx, 0x64
jae 0x100adcd0
xor ecx, ecx
cmp edx, 0xa
setae cl
lea ebp, [rcx + rcx*8]
inc ebp
jmp 0x100add2d
cmp edx, 0xf4240
jae 0x100adced
cmp edx, 0x186a0
setb cl
mov r10d, 0x2710
mov ebp, 0x186a0
cmovb ebp, r10d
xor cl, 5
jmp 0x100add2d
cmp edx, 0x3e8
setb cl
mov r10d, 0x64
mov ebp, 0x3e8
cmovb ebp, r10d
xor cl, 3
jmp 0x100add2d
cmp edx, 0x5f5e100
jae 0x100add12
cmp edx, 0x989680
setb cl
mov r10d, 0xf4240
mov ebp, 0x989680
cmovb ebp, r10d
xor cl, 7
jmp 0x100add2d
cmp edx, 0x3b9aca00
setb cl
mov r10d, 0x5f5e100
mov ebp, 0x3b9aca00
cmovb ebp, r10d
xor cl, 9
movzx ecx, cl
mov r13d, ecx
sub r13d, eax
inc r13d
cmp r13w, r12w
jle 0x100addf0
mov qword [rsp + 0x50], r14
movzx r10d, bx
mov qword [rsp + 0x60], rdi
lea r14, [rdi - 1]
and rsi, r14
movsx rax, r13w
mov ebx, r13d
sub ebx, r12d
movsx rdi, r12w
sub rax, rdi
cmp rax, r9
movsx rbx, bx
cmovae rbx, r9
neg rcx
mov qword [rsp + 0x58], r9
neg r9
mov edi, 1
mov r12d, 0xcccccccd
nop word [rax + rax]
lea r15, [r9 + rdi]
mov eax, edx
xor edx, edx
div ebp
cmp r15, 1
je 0x100adf43
add al, 0x30
mov byte [r8 + rdi - 1], al
cmp rbx, rdi
je 0x100ade40
lea rax, [rcx + rdi]
cmp rax, 1
je 0x100ade8c
mov eax, ebp
imul rax, r12
shr rax, 0x23
inc rdi
cmp ebp, 0xa
mov ebp, eax
jae 0x100add90
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call dbg.panic
ud2
movabs rcx, 0xcccccccccccccccd
mov rax, rsi
mul rcx
shr rdx, 3
mov eax, ebp
mov ecx, r11d
shl rax, cl
mov qword [rsp + 0x40], rdi
mov word [rsp + 0x28], r12w
mov word [rsp + 0x20], r13w
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov rcx, r14
mov rdx, r8
mov r8, r9
xor r9d, r9d
call dbg.possibly_round
mov rax, r14
jmp 0x100adf32
mov eax, edx
mov ecx, r11d
shl rax, cl
add rax, rsi
mov edx, ebp
shl rdx, cl
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x40], rcx
movzx ecx, word [rsp + 0xd0]
mov word [rsp + 0x28], cx
mov word [rsp + 0x20], r13w
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rax
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
mov rdx, r8
mov r8, qword [rsp + 0x58]
jmp 0x100adf19
dec r10d
and r10d, 0x3f
mov eax, 1
mov rbp, qword [rsp + 0x58]
movzx r9d, word [rsp + 0xd0]
mov r15, qword [rsp + 0x60]
nop dword [rax + rax]
mov rdx, rax
mov ecx, r10d
shr rdx, cl
test rdx, rdx
jne 0x100adf26
cmp rdi, rbp
jae 0x100adf59
add rsi, rsi
lea rdx, [rsi + rsi*4]
mov rsi, rdx
and rsi, r14
add rax, rax
lea rax, [rax + rax*4]
mov ecx, r11d
shr rdx, cl
add dl, 0x30
mov byte [r8 + rdi], dl
inc rdi
cmp rbx, rdi
jne 0x100adeb0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], rsi
mov word [rsp + 0x28], r9w
mov word [rsp + 0x20], r13w
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
mov rdx, r8
mov r8, rbp
mov r9, rbx
call dbg.possibly_round
mov rax, rsi
jmp 0x100adf32
mov rax, qword [rsp + 0x50]
mov qword [rax], 0
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, qword [rsp + 0x58]
mov rdx, rcx
call dbg.panic_bounds_check
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, rdi
mov rdx, rbp
call dbg.panic_bounds_check
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, r10
call dbg.panic_bounds_check
ud2
lea rcx, [0x10575237]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call dbg.panic
ud2
lea rcx, str.assertion_failed:_d.mant____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x24
call dbg.panic
ud2
lea rcx, str.assertion_failed:__buf.is_empty__called__Option::unwrap____on_a__None__value
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x21
call dbg.panic
ud2