Function at 0x140009b20
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov rax, qword [rdx]
test rax, rax
je 0x140009fbc
mov r14, rcx
mov rcx, rax
shr rcx, 0x3d
jne 0x140009fd4
test r9, r9
je 0x140009fec
mov rcx, rax
shr rcx, 0x20
mov r11, rax
shl r11, 0x20
mov edx, dword [rdx + 0x18]
lea r10d, [rdx - 0x20]
test rcx, rcx
cmovne r11, rax
cmovne r10d, edx
mov rax, r11
shr rax, 0x30
mov rcx, r11
shl rcx, 0x10
lea edx, [r10 - 0x10]
test rax, rax
cmovne rcx, r11
cmovne edx, r10d
mov rax, rcx
shr rax, 0x38
mov rsi, rcx
shl rsi, 8
lea r10d, [rdx - 8]
test rax, rax
cmovne rsi, rcx
cmovne r10d, edx
mov rax, rsi
shr rax, 0x3c
mov rcx, rsi
shl rcx, 4
lea r11d, [r10 - 4]
test rax, rax
cmovne rcx, rsi
cmovne r11d, r10d
mov r10, rcx
shr r10, 0x3e
lea rax, [rcx*4]
lea edx, [r11 - 2]
test r10, r10
cmovne rax, rcx
cmovne edx, r11d
xor ecx, ecx
test rax, rax
setns cl
sub edx, ecx
mov ecx, 0xffffffa0
sub ecx, edx
movsx ecx, cx
lea ecx, [rcx + rcx*4]
shl ecx, 4
add ecx, 0x153b0
movsxd rcx, ecx
imul rcx, rcx, 0x7b4dc993
mov r10, rcx
shr r10, 0x3f
sar rcx, 0x2a
add ecx, r10d
movsxd rdi, ecx
cmp edi, 0x51
jae 0x140009fa8
test rax, rax
setns cl
shl rax, cl
shl rdi, 4
mov qword [rbp], r9
lea rsi, [0x14012bac8]
mov r9, qword [rdi + rsi]
mov rcx, rax
shr rcx, 0x20
mov eax, eax
mov r10d, r9d
shr r9, 0x20
mov r11, r9
imul r11, rcx
imul r9, rax
imul rcx, r10
imul r10, rax
shr r10, 0x20
mov ebx, ecx
add rbx, r10
mov eax, r9d
add rax, rbx
sub rax, 0xffffffff80000000
shr rcx, 0x20
add rcx, r11
shr r9, 0x20
add r9, rcx
shr rax, 0x20
add dx, word [rdi + rsi + 8]
add rax, r9
mov ecx, 0xffffffc0
sub ecx, edx
movzx r11d, cx
mov r10d, r11d
and r10d, 0x3f
mov rdx, rax
mov ecx, r10d
shr rdx, cl
mov ebx, 1
shl rbx, cl
movzx edi, word [rdi + rsi + 0xa]
mov r9, qword [rbp]
lea rsi, [rbx - 1]
mov r12, rax
and r12, rsi
je 0x140009cfc
cmp edx, 0x2710
mov qword [rbp - 0x18], rsi
jae 0x140009d1c
cmp edx, 0x64
jae 0x140009d41
xor ecx, ecx
cmp edx, 0xa
setae cl
lea esi, [rcx + rcx*8]
inc esi
jmp 0x140009d9e
cmp r9, 0xa
ja 0x140009d10
lea rcx, [0x14012c1d8]
cmp dword [rcx + r9*4 - 4], edx
jbe 0x140009cd9
mov qword [r14], 0
jmp 0x140009e97
cmp edx, 0xf4240
jae 0x140009d5e
cmp edx, 0x186a0
setb cl
mov r9d, 0x2710
mov esi, 0x186a0
cmovb esi, r9d
xor cl, 5
jmp 0x140009d9e
cmp edx, 0x3e8
setb cl
mov r9d, 0x64
mov esi, 0x3e8
cmovb esi, r9d
xor cl, 3
jmp 0x140009d9e
cmp edx, 0x5f5e100
jae 0x140009d83
cmp edx, 0x989680
setb cl
mov r9d, 0xf4240
mov esi, 0x989680
cmovb esi, r9d
xor cl, 7
jmp 0x140009d9e
cmp edx, 0x3b9aca00
setb cl
mov r9d, 0x5f5e100
mov esi, 0x3b9aca00
cmovb esi, r9d
xor cl, 9
movzx ecx, cl
mov r15d, ecx
sub r15d, edi
inc r15d
movzx edi, word [rbp + 0x70]
cmp r15w, di
jle 0x140009e52
mov qword [rbp - 8], rbx
mov qword [rbp - 0x10], r14
movsx rax, r15w
mov r9d, r15d
sub r9d, edi
movsx rdi, di
sub rax, rdi
mov rbx, qword [rbp]
cmp rax, rbx
movsx rdi, r9w
cmovae rdi, rbx
neg rcx
mov r9, rbx
neg r9
mov ebx, 1
mov r14d, 0xcccccccd
nop word cs:[rax + rax]
lea r13, [r9 + rbx]
mov eax, edx
xor edx, edx
div esi
cmp r13, 1
je 0x140009f83
add al, 0x30
mov byte [r8 + rbx - 1], al
cmp rdi, rbx
je 0x140009eab
lea rax, [rcx + rbx]
cmp rax, 1
je 0x140009ef8
mov eax, esi
imul rax, r14
shr rax, 0x23
inc rbx
cmp esi, 0xa
mov esi, eax
jae 0x140009e00
lea rcx, str.librarycore_src_num_flt2dec_strategygrisu.rs
call sym.core::panicking::panic_const::panic_const_div_by_zero::h4a6084ed56ddb00f
movabs rcx, 0xcccccccccccccccd
mul rcx
shr rdx, 3
mov eax, esi
mov ecx, r10d
shl rax, cl
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x28], di
mov word [rsp + 0x20], r15w
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov rcx, r14
mov rdx, r8
mov r8, qword [rbp]
xor r9d, r9d
call sym.core::num::flt2dec::strategy::grisu::format_exact_opt::possibly_round::hdac949a4b031d668
mov rax, r14
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, edx
mov ecx, r10d
shl rax, cl
add rax, r12
mov edx, esi
shl rdx, cl
mov rcx, qword [rbp - 8]
mov qword [rsp + 0x40], rcx
movzx ecx, word [rbp + 0x70]
mov word [rsp + 0x28], cx
mov word [rsp + 0x20], r15w
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rax
mov rsi, qword [rbp - 0x10]
mov rcx, rsi
mov rdx, r8
mov r8, qword [rbp]
mov r9, rdi
call sym.core::num::flt2dec::strategy::grisu::format_exact_opt::possibly_round::hdac949a4b031d668
mov rax, rsi
jmp 0x140009e9a
dec r11d
and r11d, 0x3f
mov eax, 1
mov r14, qword [rbp - 0x10]
mov r9, qword [rbp]
mov rsi, qword [rbp - 0x18]
mov rdx, rax
mov ecx, r11d
shr rdx, cl
test rdx, rdx
jne 0x140009d10
cmp rbx, r9
jae 0x140009f96
add r12, r12
lea rdx, [r12 + r12*4]
mov r12, rdx
and r12, rsi
add rax, rax
lea rax, [rax + rax*4]
mov ecx, r10d
shr rdx, cl
add dl, 0x30
mov byte [r8 + rbx], dl
inc rbx
cmp rdi, rbx
jne 0x140009f10
mov qword [rsp + 0x40], rax
mov rax, qword [rbp - 8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
movzx eax, word [rbp + 0x70]
mov word [rsp + 0x28], ax
mov word [rsp + 0x20], r15w
mov rcx, r14
mov rdx, r8
mov r8, r9
mov r9, rdi
jmp 0x140009e92
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, qword [rbp]
mov rdx, rcx
call sym.core::panicking::panic_bounds_check::h4388ff1c9e23786d
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, rbx
mov rdx, r9
call sym.core::panicking::panic_bounds_check::h4388ff1c9e23786d
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rdi
call sym.core::panicking::panic_bounds_check::h4388ff1c9e23786d
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.mant____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x24
call sym.core::panicking::panic::hf6fd3ad2f9225230
lea rcx, str.assertion_failed:__buf.is_empty__
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x21
call sym.core::panicking::panic::hf6fd3ad2f9225230
int3