Function at 0x140092160
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov rax, qword [rdx]
test rax, rax
je 0x140092951
mov r11, qword [rdx + 8]
test r11, r11
je 0x140092969
mov rbx, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x140092981
add rcx, rax
jb 0x140092999
mov r10, rax
sub r10, r11
jb 0x1400929b1
cmp r9, 0x10
jbe 0x1400929c9
mov r11, rcx
shr r11, 0x3d
jne 0x1400929e1
mov esi, dword [rdx + 0x18]
mov rdx, rcx
shr rdx, 0x20
mov rdi, rcx
shl rdi, 0x20
lea r14d, [rsi - 0x20]
test rdx, rdx
cmovne rdi, rcx
cmovne r14d, esi
mov rcx, rdi
shr rcx, 0x30
mov rdx, rdi
shl rdx, 0x10
lea r11d, [r14 - 0x10]
test rcx, rcx
cmovne rdx, rdi
cmovne r11d, r14d
mov rcx, rdx
shr rcx, 0x38
mov rdi, rdx
shl rdi, 8
lea r14d, [r11 - 8]
test rcx, rcx
cmovne rdi, rdx
cmovne r14d, r11d
mov rcx, rdi
shr rcx, 0x3c
mov rdx, rdi
shl rdx, 4
test rcx, rcx
cmovne rdx, rdi
lea ecx, [r14 - 4]
cmovne ecx, r14d
mov r14, rdx
shr r14, 0x3e
lea rdi, [rdx*4]
lea r11d, [rcx - 2]
test r14, r14
cmovne rdi, rdx
cmovne r11d, ecx
xor ecx, ecx
test rdi, rdi
setns cl
sub r11d, ecx
mov qword [rsp + 0x78], r10
mov word [rsp + 0x80], si
mov ecx, esi
sub cx, r11w
js 0x1400929f9
and ecx, 0x3f
mov r12, r10
shl r12, cl
mov rdx, r12
shr rdx, cl
mov qword [rsp + 0x60], rdx
cmp rdx, r10
jne 0x140092920
mov rdx, rax
shl rdx, cl
mov r10, rdx
shr r10, cl
mov qword [rsp + 0x78], rax
mov word [rsp + 0x80], si
mov qword [rsp + 0x60], r10
cmp r10, rax
jne 0x140092920
mov eax, 0xffffffa0
sub eax, r11d
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
cdqe
cmp eax, 0x51
jae 0x14009290c
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x48], rbx
test rdi, rdi
setns cl
shl rdi, cl
shl rax, 4
lea r15, [0x140120a50]
mov rbp, qword [rax + r15]
movzx ecx, word [rax + r15 + 0xa]
mov dword [rsp + 0x28], ecx
mov rcx, rdi
shr rcx, 0x20
mov r9, rcx
mov qword [rsp + 0x70], rcx
mov r10d, edi
mov ecx, ebp
shr rbp, 0x20
mov rbx, rbp
imul rbx, r10
mov r8, rcx
imul r8, r9
imul r10, rcx
shr r10, 0x20
mov esi, r8d
add rsi, r10
mov r9d, ebx
add r9, rsi
add r11w, word [rax + r15 + 8]
mov r15, r12
shr r15, 0x20
mov r10d, r12d
mov rax, rbp
imul rax, r15
mov qword [rsp + 0x30], rax
mov rax, rbp
imul rax, r10
imul r15, rcx
imul r10, rcx
shr r10, 0x20
mov edi, r15d
add rdi, r10
mov esi, eax
add rsi, rdi
mov r10, rdx
shr r10, 0x20
mov edx, edx
mov r14, rbp
imul r14, rdx
mov r12, rcx
imul r12, r10
imul rcx, rdx
shr rcx, 0x20
mov edx, r12d
add rdx, rcx
mov r13d, r14d
add r13, rdx
mov rcx, rbp
imul rcx, qword [rsp + 0x70]
sub r9, 0xffffffff80000000
shr r8, 0x20
shr rbx, 0x20
shr r9, 0x20
neg r11d
sub rsi, 0xffffffff80000000
shr r15, 0x20
shr rax, 0x20
shr rsi, 0x20
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0xb0], r10
imul rbp, r10
sub r13, 0xffffffff80000000
shr r12, 0x20
mov qword [rsp + 0xa8], r12
add rbp, r12
shr r14, 0x20
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0x90], rcx
add rcx, r8
mov qword [rsp + 0xc8], rbx
add rcx, rbx
mov qword [rsp + 0x68], r9
lea r10, [r9 + rcx]
inc r10
and r11d, 0x3f
mov rdx, r10
mov ecx, r11d
shr rdx, cl
mov r8d, 1
shl r8, cl
mov qword [rsp + 0xa0], r14
add rbp, r14
mov r14, r13
shr r14, 0x20
mov qword [rsp + 0xd0], r8
lea rcx, [r8 - 1]
mov qword [rsp + 0x38], rcx
cmp edx, 0x2710
jae 0x1400924ab
cmp edx, 0x64
jae 0x1400924d5
xor ecx, ecx
cmp edx, 0xa
setae cl
lea r9d, [rcx + rcx*8]
inc r9d
jmp 0x1400924f1
cmp edx, 0xf4240
jae 0x1400927cd
cmp edx, 0x186a0
setb cl
mov r8d, 0x2710
mov r9d, 0x186a0
cmovb r9d, r8d
xor cl, 5
jmp 0x1400924f1
cmp edx, 0x3e8
setb cl
mov r8d, 0x64
mov r9d, 0x3e8
cmovb r9d, r8d
xor cl, 3
mov r8d, dword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
add rbp, r14
mov qword [rsp + 0x28], rbp
mov rbx, r10
mov r12, qword [rsp + 0x38]
and rbx, r12
movzx edi, cl
mov ecx, edi
sub ecx, r8d
inc ecx
mov dword [rsp + 0x44], ecx
add r15, r13
add r15, rax
add r15, rsi
mov qword [rsp + 0x30], r10
mov qword [rsp + 0xb8], r15
sub r10, r15
mov qword [rsp + 0x88], r10
lea r13, [r10 + 1]
mov rbp, r13
and rbp, r12
neg rdi
mov r15, qword [rsp + 0x58]
neg r15
mov esi, 1
nop word [rax + rax]
lea rcx, [r15 + rsi]
mov eax, edx
xor edx, edx
div r9d
cmp rcx, 1
je 0x1400928e9
add al, 0x30
mov r12d, edx
mov ecx, r11d
shl r12, cl
mov rcx, qword [rsp + 0x50]
mov byte [rcx + rsi - 1], al
lea r8, [r12 + rbx]
mov r10, r13
sub r10, r8
ja 0x1400925d7
lea rax, [rdi + rsi]
cmp rax, 1
je 0x1400926e2
mov eax, r9d
mov ecx, 0xcccccccd
imul rax, rcx
shr rax, 0x23
inc rsi
cmp r9d, 0xa
mov r9d, eax
jae 0x140092560
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call sym.core::panicking::panic::hd174330580e7869e
mov edx, r9d
mov ecx, r11d
shl rdx, cl
mov r13, qword [rsp + 0x30]
sub r13, qword [rsp + 0x28]
lea rcx, [r13 + 1]
dec r13
cmp r10, rdx
setb dil
cmp r13, r8
jbe 0x140092800
cmp r10, rdx
mov r15, qword [rsp + 0x50]
jb 0x14009283a
mov qword [rsp + 0x38], rcx
mov rdi, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xc0]
lea r9, [rdi + rbp]
add r9, qword [rsp + 0x68]
add r9, qword [rsp + 0x90]
mov r10, r9
sub r10, qword [rsp + 0x28]
sub r10, r12
sub r10, rbx
lea r11, [rbx + rdx]
mov rcx, qword [rsp + 0xa8]
add rcx, r11
add rcx, qword [rsp + 0xa0]
add rcx, r14
mov r8, qword [rsp + 0xb0]
sub r8, qword [rsp + 0x70]
mov r14, qword [rsp + 0x98]
imul r14, r8
add r14, rcx
sub r14, rbp
mov rcx, r14
sub rcx, rdi
sub rcx, qword [rsp + 0x68]
sub r9, qword [rsp + 0xb8]
sub r9, r11
sub r9, r12
add r9, 2
nop dword [rax]
lea r8, [r12 + r11]
cmp r8, r13
jb 0x1400926b6
lea rdi, [r12 + rcx]
cmp r10, rdi
jb 0x14009282d
dec al
mov byte [r15 + rsi - 1], al
sub r9, rdx
setb dil
add rbx, rdx
cmp r8, r13
jae 0x1400926da
sub r10, rdx
add rcx, rdx
add r11, rdx
test dil, dil
je 0x1400926a0
add r12, rbx
jmp 0x140092832
mov r8d, 1
mov r15, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0x28]
nop word cs:[rax + rax]
cmp rsi, rdx
jae 0x1400928fd
mov r14, r8
add rbx, rbx
lea rax, [rbx + rbx*4]
mov rbx, rax
and rbx, qword [rsp + 0x38]
lea rcx, [r8 + r8]
lea r8, [rcx + rcx*4]
mov r9, rbp
add r9, rbp
lea rbp, [r9 + r9*4]
mov ecx, r11d
shr rax, cl
lea ecx, [rax + 0x30]
mov byte [r15 + rsi], cl
inc rsi
mov r10, rbp
sub r10, rbx
jbe 0x140092710
sub r12, rdi
imul r12, r8
lea rcx, [r12 + r8]
cmp r10, r13
setb r10b
jb 0x140092875
sub r12, r8
mov r8, r12
sub r8, rbx
jbe 0x140092875
add al, 0x2f
mov r11, r13
sub r11, r12
lea rdi, [r9 + r9*4]
sub rdi, r13
sub rdi, rbx
nop
lea r9, [rbx + r13]
cmp r9, r12
jb 0x1400927a6
lea r10, [r11 + rbx]
cmp r8, r10
jb 0x140092872
mov byte [r15 + rsi - 1], al
sub rdi, r13
setb r10b
cmp r9, r12
jae 0x140092878
dec al
sub r8, r13
mov rbx, r9
test r10b, r10b
je 0x140092790
jmp 0x140092878
cmp edx, 0x5f5e100
mov r13, qword [rsp + 0x30]
jae 0x140092807
cmp edx, 0x989680
setb cl
mov r8d, 0xf4240
mov r9d, 0x989680
cmovb r9d, r8d
xor cl, 7
mov r8d, dword [rsp + 0x28]
jmp 0x1400924fb
mov r15, qword [rsp + 0x50]
jmp 0x14009283a
cmp edx, 0x3b9aca00
setb cl
mov r8d, 0x5f5e100
mov r9d, 0x3b9aca00
cmovb r9d, r8d
xor cl, 9
mov r8d, dword [rsp + 0x28]
jmp 0x1400924fb
add r12, rbx
xor edi, edi
mov r8, r12
mov rcx, qword [rsp + 0x38]
mov rax, rcx
sub rax, r8
jbe 0x140092854
test dil, dil
jne 0x140092854
add rdx, r8
sub rdx, rcx
jb 0x1400928c9
cmp rax, rdx
jae 0x1400928c9
cmp r8, 2
mov rax, qword [rsp + 0x48]
jb 0x1400928ce
mov rcx, qword [rsp + 0x88]
add rcx, 0xfffffffffffffffd
cmp r8, rcx
jbe 0x1400928b8
jmp 0x1400928ce
xor r10d, r10d
mov r9, rbx
mov rdx, rcx
sub rdx, r9
jbe 0x140092892
test r10b, r10b
jne 0x140092892
add r13, r9
sub r13, rcx
jb 0x1400928c9
cmp rdx, r13
jae 0x1400928c9
lea rcx, [r14*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r9
mov rax, qword [rsp + 0x48]
ja 0x1400928ce
shl r14, 3
lea rcx, [r14 + r14*4]
sub rbp, rcx
cmp r9, rbp
ja 0x1400928ce
mov qword [rax], r15
mov qword [rax + 8], rsi
mov ecx, dword [rsp + 0x44]
mov word [rax + 0x10], cx
jmp 0x1400928d5
mov rax, qword [rsp + 0x48]
mov qword [rax], 0
add rsp, 0x108
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 sym.core::panicking::panic_bounds_check::h945b9bc4d836e441
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, rsi
call sym.core::panicking::panic_bounds_check::h945b9bc4d836e441
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rax
call sym.core::panicking::panic_bounds_check::h945b9bc4d836e441
mov qword [rsp + 0xd8], 0
lea rax, [0x140113968]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0x78]
lea r9, [rsp + 0xd8]
xor ecx, ecx
call sym.core::panicking::assert_failed::hd351d3bc4185d70a
lea rcx, str.assertion_failed:_d.mant___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call sym.core::panicking::panic::hd174330580e7869e
lea rcx, str.assertion_failed:_d.minus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1d
call sym.core::panicking::panic::hd174330580e7869e
lea rcx, str.assertion_failed:_d.plus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call sym.core::panicking::panic::hd174330580e7869e
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 sym.core::panicking::panic::hd174330580e7869e
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 sym.core::panicking::panic::hd174330580e7869e
lea rcx, str.assertion_failed:_buf.len_____MAX_SIG_DIGITS
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x2d
call sym.core::panicking::panic::hd174330580e7869e
lea rcx, str.assertion_failed:_d.mant__d.plus____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x2d
call sym.core::panicking::panic::hd174330580e7869e
lea rcx, str.assertion_failed:_edelta___0librarycore_src_numdiy_float.rs
lea r8, [0x140113950]
mov edx, 0x1d
call sym.core::panicking::panic::hd174330580e7869e
int3