Function at 0x1400155e0
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 qword [rsp + 0x48], r9
test rdx, rdx
je 0x140015a91
mov rax, rdx
shr rax, 0x3d
jne 0x140015aab
mov r9, rcx
mov rax, rdx
shr rax, 0x20
mov rcx, rdx
shl rcx, 0x20
lea ebp, [r8 - 0x20]
test rax, rax
cmovne rcx, rdx
cmovne ebp, r8d
mov rax, rcx
shr rax, 0x30
mov rdx, rcx
shl rdx, 0x10
lea ebx, [rbp - 0x10]
test rax, rax
cmovne rdx, rcx
cmovne ebx, ebp
mov rcx, rdx
shr rcx, 0x38
mov rax, rdx
shl rax, 8
lea ebp, [rbx - 8]
test rcx, rcx
cmovne rax, rdx
cmovne ebp, ebx
mov rdx, rax
shr rdx, 0x3c
mov rcx, rax
shl rcx, 4
lea ebx, [rbp - 4]
test rdx, rdx
cmovne rcx, rax
cmovne ebx, ebp
mov rax, rcx
shr rax, 0x3e
lea rdx, [rcx*4]
lea edi, [rbx - 2]
test rax, rax
cmovne rdx, rcx
cmovne edi, ebx
mov rbp, rdx
sar rbp, 0x3f
not ebp
add ebp, edi
mov eax, 0xffffffa0
sub eax, ebp
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 0x140015a7b
test rdx, rdx
setns cl
shl rdx, cl
shl rax, 4
lea r8, [0x140043968]
mov rbx, qword [rax + r8]
mov rcx, rdx
shr rcx, 0x20
mov esi, edx
mov edi, ebx
mov rdx, rbx
shr rdx, 0x20
mov rbx, rdx
imul rbx, rcx
imul rdx, rsi
imul rcx, rdi
imul rdi, rsi
shr rdi, 0x20
mov esi, ecx
add rsi, rdi
mov r10d, edx
add r10, rsi
sub r10, 0xffffffff80000000
shr rcx, 0x20
add rcx, rbx
shr rdx, 0x20
add rdx, rcx
shr r10, 0x20
add r10, rdx
add bp, word [rax + r8 + 8]
mov edx, 0xffffffc0
sub edx, ebp
mov r11d, edx
and r11d, 0x3f
mov rbx, r10
mov ecx, r11d
shr rbx, cl
movzx esi, word [rsp + 0xd8]
movzx eax, word [rax + r8 + 0xa]
mov edi, 1
shl rdi, cl
cmp ebx, 0x2710
jae 0x140015793
cmp ebx, 0x64
jae 0x1400157b8
xor ecx, ecx
cmp ebx, 0xa
setae cl
lea r14d, [rcx + rcx*8]
inc r14d
jmp 0x140015815
cmp ebx, 0xf4240
jae 0x1400157d5
cmp ebx, 0x186a0
setb cl
mov ebp, 0x2710
mov r14d, 0x186a0
cmovb r14d, ebp
xor cl, 5
jmp 0x140015815
cmp ebx, 0x3e8
setb cl
mov ebp, 0x64
mov r14d, 0x3e8
cmovb r14d, ebp
xor cl, 3
jmp 0x140015815
cmp ebx, 0x5f5e100
jae 0x1400157fa
cmp ebx, 0x989680
setb cl
mov ebp, 0xf4240
mov r14d, 0x989680
cmovb r14d, ebp
xor cl, 7
jmp 0x140015815
cmp ebx, 0x3b9aca00
setb cl
mov ebp, 0x5f5e100
mov r14d, 0x3b9aca00
cmovb r14d, ebp
xor cl, 9
mov r8, qword [rsp + 0xd0]
movzx r13d, cl
mov ebp, r13d
sub ebp, eax
inc ebp
cmp bp, si
jle 0x1400158f3
mov qword [rsp + 0x50], r9
movzx r15d, dx
mov qword [rsp + 0x58], rdi
lea rax, [rdi - 1]
mov qword [rsp + 0x60], rax
and r10, rax
movsx rax, bp
mov ecx, ebp
sub ecx, esi
movsx rdx, si
sub rax, rdx
cmp rax, r8
movsx rdi, cx
cmovae rdi, r8
neg r13
neg r8
mov esi, 1
mov r12d, 0xcccccccd
nop word cs:[rax + rax]
lea r9, [r8 + rsi]
mov eax, ebx
xor edx, edx
div r14d
cmp r9, 1
je 0x140015a4b
mov ecx, edx
mov eax, ebx
xor edx, edx
div r14d
add al, 0x30
mov rdx, qword [rsp + 0x48]
mov byte [rdx + rsi - 1], al
cmp rdi, rsi
je 0x14001593e
lea rax, [rsi + r13]
cmp rax, 1
je 0x14001598c
mov eax, r14d
imul rax, r12
shr rax, 0x23
inc rsi
mov ebx, ecx
cmp r14d, 0xa
mov r14d, eax
jae 0x140015880
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.14003ee00
ud2
movabs rcx, 0xcccccccccccccccd
mov rax, r10
mul rcx
shr rdx, 3
mov eax, r14d
mov ecx, r11d
shl rax, cl
mov qword [rsp + 0x40], rdi
mov word [rsp + 0x28], si
mov word [rsp + 0x20], bp
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov rcx, r9
mov rdx, qword [rsp + 0x48]
xor r9d, r9d
call fcn.140015ad0
jmp 0x140015a3a
mov eax, ecx
mov ecx, r11d
shl rax, cl
add rax, r10
mov edx, r14d
shl rdx, cl
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x40], rcx
movzx ecx, word [rsp + 0xd8]
mov word [rsp + 0x28], cx
mov word [rsp + 0x20], bp
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0xd0]
jmp 0x140015a24
dec r15d
and r15d, 0x3f
mov eax, 1
mov r8, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x60]
nop word cs:[rax + rax]
mov rdx, rax
mov ecx, r15d
shr rdx, cl
test rdx, rdx
jne 0x140015a2e
cmp rsi, r8
jae 0x140015a64
add r10, r10
lea rdx, [r10 + r10*4]
mov r10, rdx
and r10, rbx
add rax, rax
lea rax, [rax + rax*4]
mov ecx, r11d
shr rdx, cl
add dl, 0x30
mov rcx, qword [rsp + 0x48]
mov byte [rcx + rsi], dl
inc rsi
cmp rdi, rsi
jne 0x1400159b0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r10
movzx eax, word [rsp + 0xd8]
mov word [rsp + 0x28], ax
mov word [rsp + 0x20], bp
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r9, rdi
call fcn.140015ad0
jmp 0x140015a3a
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 + 0xd0]
mov rdx, rcx
call fcn.14003ed60
ud2
lea rax, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, rsi
mov rdx, r8
mov r8, rax
call fcn.14003ed60
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rax
call fcn.14003ed60
ud2
lea rcx, [0x1400436cf]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.14003ee00
ud2
lea rcx, str.assertion_failed:_d.mant____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x24
call fcn.14003ee00
ud2