Function at 0x100ad1d0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov qword [rsp + 0x38], r8
mov rbx, qword [rdx]
test rbx, rbx
je 0x100ad9c6
mov rax, qword [rdx + 8]
test rax, rax
je 0x100ad9d6
mov rdi, qword [rdx + 0x10]
test rdi, rdi
je 0x100ad9e9
add rdi, rbx
jb 0x100ada03
mov r13, rbx
sub r13, rax
jb 0x100ada1d
cmp r9, 0x11
jb 0x100ada37
mov rax, rdi
shr rax, 0x3d
jne 0x100ada47
mov r8, rcx
mov eax, dword [rdx + 0x18]
mov rdx, rdi
shr rdx, 0x20
mov rcx, rdi
shl rcx, 0x20
lea esi, [rax - 0x20]
test rdx, rdx
cmovne rcx, rdi
cmovne esi, eax
mov rdx, rcx
shr rdx, 0x30
mov rdi, rcx
shl rdi, 0x10
lea ebp, [rsi - 0x10]
test rdx, rdx
cmovne rdi, rcx
cmovne ebp, esi
mov rdx, rdi
shr rdx, 0x38
mov rcx, rdi
shl rcx, 8
lea esi, [rbp - 8]
test rdx, rdx
cmovne rcx, rdi
cmovne esi, ebp
mov rbp, rcx
shr rbp, 0x3c
mov rdx, rcx
shl rdx, 4
test rbp, rbp
cmovne rdx, rcx
lea ecx, [rsi - 4]
cmovne ecx, esi
mov rbp, rdx
shr rbp, 0x3e
lea r10, [rdx*4]
lea edi, [rcx - 2]
test rbp, rbp
cmovne r10, rdx
cmovne edi, ecx
test r10, r10
setns cl
mov rdx, r10
shl rdx, cl
sar r10, 0x3f
not r10d
add r10d, edi
mov qword [rsp + 0x78], r13
mov word [rsp + 0x80], ax
mov ecx, eax
sub cx, r10w
js 0x100ada61
and ecx, 0x3f
mov rbp, 0xffffffffffffffff
shr rbp, cl
mov rdi, rbp
and rdi, r13
mov qword [rsp + 0x58], rdi
cmp r13, rbp
ja 0x100ad9a1
shl r13, cl
mov qword [rsp + 0x78], rbx
mov word [rsp + 0x80], ax
mov rax, rbp
and rax, rbx
mov qword [rsp + 0x58], rax
cmp rbx, rbp
ja 0x100ad9a1
mov eax, 0xffffffa0
sub eax, r10d
cwde
lea eax, [rax + rax*4]
shl eax, 4
add eax, 0x153b0
cdqe
imul rax, rax, 0x7b4dc993
mov rbp, rax
shr rbp, 0x3f
sar rax, 0x2a
add eax, ebp
cdqe
cmp eax, 0x51
jae 0x100ad98b
mov qword [rsp + 0x40], r8
shl rbx, cl
shl rax, 4
lea r12, [0x10575518]
mov rdi, rbx
mov r15, qword [rax + r12]
movzx ecx, word [rax + r12 + 0xa]
mov dword [rsp + 0x28], ecx
mov rcx, rdx
shr rcx, 0x20
mov rbx, rcx
mov qword [rsp + 0x70], rcx
mov edx, edx
mov ecx, r15d
shr r15, 0x20
mov rsi, r15
imul rsi, rdx
mov r11, rcx
imul r11, rbx
imul rdx, rcx
shr rdx, 0x20
mov ebp, r11d
add rbp, rdx
mov ebx, esi
add rbx, rbp
add r10w, word [rax + r12 + 8]
mov r12, r13
shr r12, 0x20
mov edx, r13d
mov rax, r15
imul rax, r12
mov qword [rsp + 0x30], rax
mov r8, r15
imul r8, rdx
imul r12, rcx
imul rdx, rcx
shr rdx, 0x20
mov ebp, r12d
add rbp, rdx
mov r14d, r8d
add r14, rbp
mov r13, rdi
shr r13, 0x20
mov edx, edi
mov rdi, r15
imul rdi, rdx
mov rax, rcx
imul rax, r13
imul rcx, rdx
shr rcx, 0x20
mov edx, eax
add rdx, rcx
mov ebp, edi
add rbp, rdx
mov rcx, r15
imul rcx, qword [rsp + 0x70]
sub rbx, 0xffffffff80000000
shr r11, 0x20
shr rsi, 0x20
shr rbx, 0x20
neg r10d
sub r14, 0xffffffff80000000
shr r12, 0x20
shr r8, 0x20
mov qword [rsp + 0x20], r8
shr r14, 0x20
mov qword [rsp + 0xc0], r15
mov r8, r15
imul r8, r13
sub rbp, 0xffffffff80000000
shr rax, 0x20
add r8, rax
shr rdi, 0x20
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0x88], rcx
add rcx, r11
mov qword [rsp + 0xb0], rsi
add rcx, rsi
mov qword [rsp + 0x60], rbx
lea r15, [rbx + rcx]
inc r15
mov rbx, r8
and r10d, 0x3f
mov r8, r15
mov ecx, r10d
shr r8, cl
mov esi, 1
shl rsi, cl
add rbx, rdi
shr rbp, 0x20
mov qword [rsp + 0x68], rbp
lea rcx, [rsi - 1]
mov qword [rsp + 0x48], rcx
cmp r8d, 0x2710
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x90], rdi
jae 0x100ad525
cmp r8d, 0x64
jae 0x100ad54c
xor ecx, ecx
cmp r8d, 0xa
setae cl
lea r13d, [rcx + rcx*8]
inc r13d
jmp 0x100ad5ad
cmp r8d, 0xf4240
jae 0x100ad56a
cmp r8d, 0x186a0
setb cl
mov ebp, 0x2710
mov r13d, 0x186a0
cmovb r13d, ebp
xor cl, 5
jmp 0x100ad5ad
cmp r8d, 0x3e8
setb cl
mov ebp, 0x64
mov r13d, 0x3e8
cmovb r13d, ebp
xor cl, 3
jmp 0x100ad5ad
cmp r8d, 0x5f5e100
jae 0x100ad591
cmp r8d, 0x989680
setb cl
mov ebp, 0xf4240
mov r13d, 0x989680
cmovb r13d, ebp
xor cl, 7
jmp 0x100ad5ad
cmp r8d, 0x3b9aca00
setb cl
mov ebp, 0x5f5e100
mov r13d, 0x3b9aca00
cmovb r13d, ebp
xor cl, 9
mov rdx, qword [rsp + 0x30]
mov eax, dword [rsp + 0x28]
mov rdi, qword [rsp + 0x20]
add rbx, qword [rsp + 0x68]
mov qword [rsp + 0x28], rbx
mov r11, r15
mov rsi, qword [rsp + 0x48]
and r11, rsi
movzx ebp, cl
mov ecx, ebp
sub ecx, eax
inc ecx
mov dword [rsp + 0x54], ecx
add rdx, r12
add rdx, rdi
add rdx, r14
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x30], rdx
sub r15, rdx
inc r15
mov r14, r15
and r14, rsi
xor esi, esi
mov ebx, 0xcccccccd
nop word cs:[rax + rax]
mov eax, r8d
xor edx, edx
div r13d
cmp r9, rsi
je 0x100ad966
mov r8d, edx
mov rdx, r9
add al, 0x30
mov r12d, r8d
mov ecx, r10d
shl r12, cl
mov rcx, qword [rsp + 0x38]
mov byte [rcx + rsi], al
lea rdi, [r12 + r11]
mov r9, r15
sub r9, rdi
ja 0x100ad683
cmp rbp, rsi
je 0x100ad7a7
mov eax, r13d
imul rax, rbx
shr rax, 0x23
inc rsi
cmp r13d, 0xa
mov r13d, eax
mov r9, rdx
jae 0x100ad610
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call dbg.panic
ud2
mov r14d, r13d
mov ecx, r10d
shl r14, cl
lea rbp, [rsi + 1]
cmp rsi, rdx
jae 0x100ada7b
mov rcx, qword [rsp + 0x20]
sub rcx, qword [rsp + 0x28]
lea rdx, [rcx + 1]
dec rcx
cmp r9, r14
setae r8b
cmp rcx, rdi
mov rbx, qword [rsp + 0xc0]
jbe 0x100ad8aa
cmp r9, r14
jb 0x100ad8aa
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x48], rbp
mov r10, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
lea r9, [rdi + r10]
add r9, qword [rsp + 0x60]
add r9, qword [rsp + 0x88]
mov r13, r9
sub r13, qword [rsp + 0x28]
sub r13, r12
sub r13, r11
sub r9, qword [rsp + 0x30]
lea rdx, [r11 + r14]
sub r9, rdx
sub r9, r12
mov r8, qword [rsp + 0x98]
add r8, rdx
add r8, qword [rsp + 0x90]
add r8, qword [rsp + 0x68]
mov rbp, qword [rsp + 0xa0]
sub rbp, qword [rsp + 0x70]
imul rbx, rbp
add rbx, r8
sub rbx, rdi
sub rbx, r10
sub rbx, qword [rsp + 0x60]
add r9, 2
mov r10, qword [rsp + 0x38]
nop word cs:[rax + rax]
lea rdi, [r12 + rdx]
cmp rdi, rcx
jb 0x100ad776
lea rbp, [r12 + rbx]
cmp r13, rbp
jb 0x100ad897
dec al
mov rbp, r9
sub rbp, r14
setae r8b
add r11, r14
mov byte [r10 + rsi], al
cmp rdi, rcx
jae 0x100ad79f
sub r13, r14
add rbx, r14
add rdx, r14
cmp r9, r14
mov r9, rbp
jae 0x100ad760
add r12, r11
jmp 0x100ad89d
inc rsi
mov eax, 1
mov r12, qword [rsp + 0x20]
mov r13, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x38]
nop word cs:[rax + rax]
cmp rsi, rdx
jae 0x100ad97a
mov r15, rax
add r11, r11
lea rbx, [r11 + r11*4]
mov r11, rbx
and r11, r8
add rax, rax
lea rax, [rax + rax*4]
mov rbp, r14
add rbp, r14
lea r14, [rbp*4]
add r14, rbp
mov ecx, r10d
shr rbx, cl
lea ecx, [rbx + 0x30]
mov byte [rdi + rsi], cl
inc rsi
mov rcx, r14
sub rcx, r11
jbe 0x100ad7d0
sub r12, qword [rsp + 0x28]
imul r12, rax
lea r8, [r12 + rax]
cmp rcx, r13
setae r9b
jb 0x100ad8ed
sub r12, rax
mov rax, r12
sub rax, r11
jbe 0x100ad8ed
add bl, 0x2f
lea rbp, [rbp + rbp*4]
sub rbp, r13
sub rbp, r11
mov r10, r13
sub r10, r12
mov rdi, qword [rsp + 0x38]
nop word [rax + rax]
lea rdx, [r11 + r13]
cmp rdx, r12
jb 0x100ad872
lea rcx, [r10 + r11]
cmp rax, rcx
jb 0x100ad8ea
mov rcx, rbp
sub rcx, r13
setae r9b
mov byte [rdi + rsi - 1], bl
cmp rdx, r12
jae 0x100ad8f0
dec bl
sub rax, r13
mov r11, rdx
cmp rbp, r13
mov rbp, rcx
jae 0x100ad860
jmp 0x100ad8f0
add r12, r11
mov r8b, 1
mov rdi, r12
mov rbp, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x20]
mov rax, rdx
sub rax, rdi
jbe 0x100ad8c8
test r8b, r8b
je 0x100ad8c8
add r14, rdi
sub r14, rdx
jb 0x100ad946
cmp rax, r14
jae 0x100ad946
cmp rdi, 2
jb 0x100ad946
add r15, 0xfffffffffffffffc
cmp rdi, r15
ja 0x100ad946
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov qword [rax], rcx
mov qword [rax + 8], rbp
jmp 0x100ad93c
mov r9b, 1
mov rdx, r11
mov rax, r8
sub rax, rdx
jbe 0x100ad90a
test r9b, r9b
je 0x100ad90a
add r13, rdx
sub r13, r8
jb 0x100ad946
cmp rax, r13
jae 0x100ad946
lea rax, [r15*4]
lea rax, [rax + rax*4]
cmp rax, rdx
mov rax, qword [rsp + 0x40]
ja 0x100ad94b
shl r15, 3
lea rcx, [r15 + r15*4]
sub r14, rcx
cmp rdx, r14
ja 0x100ad94b
mov rcx, qword [rsp + 0x38]
mov qword [rax], rcx
mov qword [rax + 8], rsi
mov ecx, dword [rsp + 0x54]
mov word [rax + 0x10], cx
jmp 0x100ad952
mov rax, qword [rsp + 0x40]
mov qword [rax], 0
add rsp, 0xf8
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, r9
mov rdx, r9
call dbg.panic_bounds_check
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, rsi
call dbg.panic_bounds_check
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rax
call dbg.panic_bounds_check
ud2
mov qword [rsp + 0xd8], 0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x78]
lea r8, [rsp + 0xc8]
call dbg.assert_failed<u64, u64>
ud2
lea rcx, [0x10575237]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x100ad9f7
lea rcx, str.assertion_failed:_d.minus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x100ada6f
lea rcx, str.assertion_failed:_d.plus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call dbg.panic
ud2
lea rcx, str.assertion_failed:_d.mant.checked_add_d.plus_.is_some__
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x36
call dbg.panic
ud2
lea rcx, str.assertion_failed:_d.mant.checked_sub_d.minus_.is_some__
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x37
call dbg.panic
ud2
lea rcx, str.assertion_failed:_buf.len_____MAX_SIG_DIGITS
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x100ada55
lea rcx, str.assertion_failed:_d.mant__d.plus____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x2d
call dbg.panic
ud2
lea rcx, [0x10575071]
lea r8, [0x105750b0]
mov edx, 0x1d
call dbg.panic
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, rbp
call dbg.slice_end_index_len_fail
ud2