Function at 0x140009280
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x128
lea rbp, [rsp + 0x80]
mov rax, qword [rdx]
test rax, rax
je 0x140009a5e
mov r12, r8
mov r8, qword [rdx + 8]
test r8, r8
je 0x140009a76
mov rbx, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x140009a8e
add rcx, rax
jb 0x140009aa6
mov rsi, rax
sub rsi, r8
jb 0x140009abe
mov r15, r9
cmp r9, 0x10
jbe 0x140009ad6
mov r8, rcx
shr r8, 0x3d
jne 0x140009aee
mov r10d, dword [rdx + 0x18]
mov rdx, rcx
shr rdx, 0x20
mov r8, rcx
shl r8, 0x20
lea r9d, [r10 - 0x20]
test rdx, rdx
cmovne r8, rcx
cmovne r9d, r10d
mov rcx, r8
shr rcx, 0x30
mov rdx, r8
shl rdx, 0x10
lea r11d, [r9 - 0x10]
test rcx, rcx
cmovne rdx, r8
cmovne r11d, r9d
mov rcx, rdx
shr rcx, 0x38
mov r8, rdx
shl r8, 8
lea r9d, [r11 - 8]
test rcx, rcx
cmovne r8, rdx
cmovne r9d, r11d
mov rcx, r8
shr rcx, 0x3c
mov rdx, r8
shl rdx, 4
test rcx, rcx
cmovne rdx, r8
lea ecx, [r9 - 4]
cmovne ecx, r9d
mov r8, rdx
shr r8, 0x3e
lea rdi, [rdx*4]
lea r11d, [rcx - 2]
test r8, r8
cmovne rdi, rdx
cmovne r11d, ecx
xor ecx, ecx
test rdi, rdi
setns cl
shl rdi, cl
sub r11d, ecx
mov qword [rbp + 0x20], rsi
mov word [rbp + 0x28], r10w
mov ecx, r10d
sub cx, r11w
js 0x140009b06
mov r9, r11
and ecx, 0x3f
mov r11, rsi
shl r11, cl
mov rdx, r11
shr rdx, cl
mov qword [rbp + 0x68], rdx
cmp rdx, rsi
jne 0x140009a45
mov rdx, rax
shl rdx, cl
mov r8, rdx
shr r8, cl
mov qword [rbp + 0x20], rax
mov word [rbp + 0x28], r10w
mov qword [rbp + 0x68], r8
cmp r8, rax
jne 0x140009a45
mov eax, 0xffffffa0
mov r14, r9
sub eax, r14d
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 rcx, eax
cmp ecx, 0x51
jae 0x140009a34
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], rbx
shl rcx, 4
lea r8, [0x14012bac8]
mov r15, r11
mov r9, qword [rcx + r8]
movzx eax, word [rcx + r8 + 0xa]
mov dword [rbp + 0xa0], eax
mov rax, rdi
shr rax, 0x20
mov r13, rax
mov qword [rbp + 0x30], rax
mov esi, edi
mov r10d, r9d
shr r9, 0x20
mov rax, r9
imul rax, rsi
mov qword [rbp + 0x70], rax
mov rbx, r10
imul rbx, r13
imul rsi, r10
shr rsi, 0x20
mov r11d, ebx
add r11, rsi
mov eax, eax
add rax, r11
add r14w, word [rcx + r8 + 8]
mov rsi, r14
mov r14, r15
shr r14, 0x20
mov ecx, r15d
mov r8, r9
imul r8, r14
mov qword [rbp + 0x38], r8
mov r15, r9
imul r15, rcx
imul r14, r10
imul rcx, r10
shr rcx, 0x20
mov r8d, r14d
add r8, rcx
mov r13d, r15d
add r13, r8
mov ecx, edx
mov rdi, r9
imul rdi, rcx
mov r8, r10
imul r10, rcx
shr rdx, 0x20
imul r8, rdx
shr r10, 0x20
mov ecx, r8d
add rcx, r10
mov r10d, edi
add r10, rcx
mov rcx, r9
imul rcx, qword [rbp + 0x30]
mov r11, r14
sub rax, 0xffffffff80000000
shr rbx, 0x20
mov r14, qword [rbp + 0x70]
shr r14, 0x20
shr rax, 0x20
neg esi
sub r13, 0xffffffff80000000
shr r11, 0x20
shr r15, 0x20
mov qword [rbp + 0x40], r15
shr r13, 0x20
mov qword [rbp + 0x48], r13
mov qword [rbp - 0x30], r9
mov r15, r9
mov r9, rax
mov qword [rbp - 0x10], rdx
imul r15, rdx
sub r10, 0xffffffff80000000
mov qword [rbp - 0x28], rbx
mov qword [rbp + 8], rcx
add rcx, rbx
mov rax, r14
mov qword [rbp + 0x70], r14
add rcx, r14
lea rdx, [r9 + rcx]
inc rdx
and esi, 0x3f
mov qword [rbp + 0x78], rdx
mov ecx, esi
shr rdx, cl
shr r8, 0x20
shr rdi, 0x20
mov eax, 1
shl rax, cl
mov qword [rbp - 0x18], r8
lea rbx, [r8 + r15]
mov qword [rbp - 8], rdi
add rbx, rdi
shr r10, 0x20
mov qword [rbp + 0x58], rax
dec rax
mov qword [rbp + 0x98], rax
cmp edx, 0x2710
mov rcx, rsi
mov qword [rbp + 0x60], r9
mov qword [rbp + 0x10], r15
jae 0x1400095d2
cmp edx, 0x64
jae 0x1400095fe
xor r9d, r9d
cmp edx, 0xa
setae r9b
lea r15d, [r9 + r9*8]
inc r15d
jmp 0x14000961c
cmp edx, 0xf4240
jae 0x1400098ed
cmp edx, 0x186a0
setb r9b
mov r8d, 0x2710
mov r15d, 0x186a0
cmovb r15d, r8d
xor r9b, 5
jmp 0x14000961c
cmp edx, 0x3e8
setb r9b
mov r8d, 0x64
mov r15d, 0x3e8
cmovb r15d, r8d
xor r9b, 3
mov eax, dword [rbp + 0xa0]
mov qword [rbp], r10
add rbx, r10
mov qword [rbp + 0x50], rbx
mov r10, qword [rbp + 0x78]
mov r14, r10
mov rsi, qword [rbp + 0x98]
and r14, rsi
movzx r9d, r9b
mov r8d, r9d
sub r8d, eax
inc r8d
mov dword [rbp + 0x94], r8d
mov qword [rbp - 0x20], r11
mov rax, qword [rbp + 0x38]
add rax, r11
add rax, qword [rbp + 0x40]
add rax, qword [rbp + 0x48]
sub r10, rax
mov qword [rbp + 0x18], r10
lea r11, [r10 + 1]
mov r10, r11
and r10, rsi
neg r9
mov qword [rbp + 0xa0], r9
mov r13, qword [rbp + 0x80]
neg r13
mov esi, 1
nop
lea r8, [rsi + r13]
mov eax, edx
xor edx, edx
div r15d
cmp r8, 1
je 0x140009a0f
add al, 0x30
mov ebx, edx
mov r9, rcx
shl rbx, cl
mov rdi, r12
mov byte [r12 + rsi - 1], al
lea r12, [rbx + r14]
mov r8, r11
sub r8, r12
ja 0x140009705
mov rax, qword [rbp + 0xa0]
add rax, rsi
cmp rax, 1
je 0x140009802
mov eax, r15d
mov ecx, 0xcccccccd
imul rax, rcx
shr rax, 0x23
inc rsi
cmp r15d, 0xa
mov r15d, eax
mov r12, rdi
mov rcx, r9
jae 0x140009690
lea rcx, str.librarycore_src_num_flt2dec_strategygrisu.rs
call sym.core::panicking::panic_const::panic_const_div_by_zero::h4a6084ed56ddb00f
mov edx, r15d
mov ecx, r9d
shl rdx, cl
mov rcx, qword [rbp + 0x78]
sub rcx, qword [rbp + 0x50]
lea r9, [rcx + 1]
dec rcx
cmp r8, rdx
setb r11b
cmp rcx, r12
jbe 0x140009951
cmp r8, rdx
jb 0x140009951
mov qword [rbp + 0x98], r9
mov r12, qword [rbp + 0x70]
mov r15, qword [rbp - 0x28]
lea r9, [r15 + r12]
add r9, qword [rbp + 0x60]
add r9, qword [rbp + 8]
mov r11, qword [rbp - 0x18]
add r11, qword [rbp - 8]
add r11, qword [rbp]
mov r8, qword [rbp + 0x10]
add r8, r11
mov r10, r9
sub r10, r8
sub r10, rbx
sub r10, r14
mov r8, qword [rbp - 0x10]
sub r8, qword [rbp + 0x30]
mov r13, qword [rbp - 0x30]
imul r13, r8
add r13, r11
lea r8, [r14 + rdx]
add r13, r8
sub r13, r15
sub r13, r12
sub r13, qword [rbp + 0x60]
mov r11, qword [rbp - 0x20]
add r11, qword [rbp + 0x40]
add r11, qword [rbp + 0x48]
add r11, qword [rbp + 0x38]
sub r9, r11
sub r9, r8
sub r9, rbx
add r9, 2
mov r12, rdi
nop word cs:[rax + rax]
lea r15, [rbx + r8]
cmp r15, rcx
jb 0x1400097d6
lea r11, [rbx + r13]
cmp r10, r11
jb 0x140009941
dec al
mov byte [r12 + rsi - 1], al
sub r9, rdx
setb r11b
add r14, rdx
cmp r15, rcx
jae 0x1400097fa
sub r10, rdx
add r13, rdx
add r8, rdx
test r11b, r11b
je 0x1400097c0
add rbx, r14
jmp 0x140009947
mov r8d, 1
mov r12, rdi
mov rdx, qword [rbp + 0x80]
mov rcx, r9
mov r13, qword [rbp + 0x78]
nop dword [rax]
cmp rsi, rdx
jae 0x140009a25
mov r15, r8
add r14, r14
lea rax, [r14 + r14*4]
mov r14, rax
and r14, qword [rbp + 0x98]
add r8, r8
lea r8, [r8 + r8*4]
mov r9, r10
add r9, r10
lea r10, [r9 + r9*4]
shr rax, cl
lea r11d, [rax + 0x30]
mov byte [r12 + rsi], r11b
inc rsi
mov r11, r10
sub r11, r14
jbe 0x140009820
sub r13, qword [rbp + 0x50]
imul r13, r8
lea rcx, [r8 + r13]
mov rdx, qword [rbp + 0x58]
cmp r11, rdx
setb r11b
jb 0x140009991
sub r13, r8
mov r8, r13
sub r8, r14
jbe 0x140009991
add al, 0x2f
mov rdi, rdx
sub rdi, r13
lea rbx, [r9 + r9*4]
sub rbx, rdx
sub rbx, r14
nop word cs:[rax + rax]
lea r9, [r14 + rdx]
cmp r9, r13
jb 0x1400098c6
lea r11, [rdi + r14]
cmp r8, r11
jb 0x14000998e
mov byte [r12 + rsi - 1], al
sub rbx, rdx
setb r11b
cmp r9, r13
jae 0x140009994
dec al
sub r8, rdx
mov r14, r9
test r11b, r11b
je 0x1400098b0
jmp 0x140009994
cmp edx, 0x5f5e100
mov eax, dword [rbp + 0xa0]
jae 0x14000991e
cmp edx, 0x989680
setb r9b
mov r8d, 0xf4240
mov r15d, 0x989680
cmovb r15d, r8d
xor r9b, 7
jmp 0x140009622
cmp edx, 0x3b9aca00
setb r9b
mov r8d, 0x5f5e100
mov r15d, 0x3b9aca00
cmovb r15d, r8d
xor r9b, 9
jmp 0x140009622
add rbx, r14
xor r11d, r11d
mov r12, rbx
mov r9, qword [rbp + 0x98]
mov rax, r9
sub rax, r12
jbe 0x14000996f
test r11b, r11b
jne 0x14000996f
add rdx, r12
sub rdx, r9
jb 0x1400099ed
cmp rax, rdx
jae 0x1400099ed
cmp r12, 2
mov rax, qword [rbp + 0x88]
jb 0x1400099f4
mov rcx, qword [rbp + 0x18]
add rcx, 0xfffffffffffffffd
cmp r12, rcx
ja 0x1400099f4
mov qword [rax], rdi
jmp 0x1400099dd
xor r11d, r11d
mov r9, r14
mov rdx, rcx
sub rdx, r9
jbe 0x1400099b2
test r11b, r11b
jne 0x1400099b2
mov rax, qword [rbp + 0x58]
add rax, r9
sub rax, rcx
jb 0x1400099ed
cmp rdx, rax
jae 0x1400099ed
lea rcx, [r15*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r9
mov rax, qword [rbp + 0x88]
ja 0x1400099f4
shl r15, 3
lea rcx, [r15 + r15*4]
sub r10, rcx
cmp r9, r10
ja 0x1400099f4
mov qword [rax], r12
mov qword [rax + 8], rsi
mov ecx, dword [rbp + 0x94]
mov word [rax + 0x10], cx
jmp 0x1400099fb
mov rax, qword [rbp + 0x88]
mov qword [rax], 0
add rsp, 0x128
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, qword [rbp + 0x80]
mov rdx, rcx
call sym.core::panicking::panic_bounds_check::h4388ff1c9e23786d
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, rsi
call sym.core::panicking::panic_bounds_check::h4388ff1c9e23786d
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
call sym.core::panicking::panic_bounds_check::h4388ff1c9e23786d
mov qword [rbp - 0x60], 0
lea rcx, [rbp + 0x68]
lea rdx, [rbp + 0x20]
lea r8, [rbp - 0x60]
call sym.core::panicking::assert_failed::h1fe1e774f6c8f628
lea rcx, [0x14012b7ff]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call sym.core::panicking::panic::hf6fd3ad2f9225230
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::hf6fd3ad2f9225230
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::hf6fd3ad2f9225230
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::hf6fd3ad2f9225230
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::hf6fd3ad2f9225230
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::hf6fd3ad2f9225230
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::hf6fd3ad2f9225230
lea rcx, str.assertion_failed:_edelta___0librarycore_src_numdiy_float.rs
lea r8, [0x14012b6a0]
mov edx, 0x1d
call sym.core::panicking::panic::hf6fd3ad2f9225230
int3