Function at 0x140009120
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 0x1400095b3
mov r14, rcx
mov rcx, rbp
shr rcx, 0x3d
jne 0x1400095cd
test r9, r9
je 0x1400095e7
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 0x14000959d
test rdx, rdx
setns cl
shl rdx, cl
shl r10, 4
lea r15, [0x140066678]
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 0x1400092db
cmp edx, 0x64
jae 0x140009300
xor ecx, ecx
cmp edx, 0xa
setae cl
lea ebp, [rcx + rcx*8]
inc ebp
jmp 0x14000935d
cmp edx, 0xf4240
jae 0x14000931d
cmp edx, 0x186a0
setb cl
mov r10d, 0x2710
mov ebp, 0x186a0
cmovb ebp, r10d
xor cl, 5
jmp 0x14000935d
cmp edx, 0x3e8
setb cl
mov r10d, 0x64
mov ebp, 0x3e8
cmovb ebp, r10d
xor cl, 3
jmp 0x14000935d
cmp edx, 0x5f5e100
jae 0x140009342
cmp edx, 0x989680
setb cl
mov r10d, 0xf4240
mov ebp, 0x989680
cmovb ebp, r10d
xor cl, 7
jmp 0x14000935d
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 0x140009420
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 0x140009573
add al, 0x30
mov byte [r8 + rdi - 1], al
cmp rbx, rdi
je 0x140009470
lea rax, [rcx + rdi]
cmp rax, 1
je 0x1400094bc
mov eax, ebp
imul rax, r12
shr rax, 0x23
inc rdi
cmp ebp, 0xa
mov ebp, eax
jae 0x1400093c0
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.1400588d0
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 fcn.140009610
mov rax, r14
jmp 0x140009562
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 0x140009549
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 0x140009556
cmp rdi, rbp
jae 0x140009589
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 0x1400094e0
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 fcn.140009610
mov rax, rsi
jmp 0x140009562
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 fcn.140058980
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, rdi
mov rdx, rbp
call fcn.140058980
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, r10
call fcn.140058980
ud2
lea rcx, [0x140066397]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.1400588d0
ud2
lea rcx, str.assertion_failed:_d.mant____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x24
call fcn.1400588d0
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 fcn.1400588d0
ud2