Function at 0x14017f340
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov rax, qword [rdx]
test rax, rax
je 0x14017fbb0
mov rbx, qword [rdx + 8]
test rbx, rbx
je 0x14017fbc0
mov rsi, qword [rdx + 0x10]
test rsi, rsi
je 0x14017fbd3
add rsi, rax
jb 0x14017fbed
mov r12, rax
sub r12, rbx
jb 0x14017fc07
cmp r9, 0x11
jb 0x14017fc21
mov r10, rcx
mov rcx, rsi
shr rcx, 0x3d
jne 0x14017fc31
mov edx, dword [rdx + 0x18]
mov rcx, rsi
shr rcx, 0x20
mov rdi, rsi
shl rdi, 0x20
test rcx, rcx
cmovne rdi, rsi
lea ecx, [rdx - 0x20]
cmovne ecx, edx
mov rbx, rdi
shr rbx, 0x30
mov rsi, rdi
shl rsi, 0x10
test rbx, rbx
cmovne rsi, rdi
lea edi, [rcx - 0x10]
cmovne edi, ecx
mov rcx, rsi
shr rcx, 0x38
mov rbx, rsi
shl rbx, 8
test rcx, rcx
cmovne rbx, rsi
lea ecx, [rdi - 8]
cmovne ecx, edi
mov rsi, rbx
shr rsi, 0x3c
mov rdi, rbx
shl rdi, 4
test rsi, rsi
cmovne rdi, rbx
lea ebx, [rcx - 4]
cmovne ebx, ecx
mov rcx, rdi
shr rcx, 0x3e
lea r11, [rdi*4]
test rcx, rcx
cmovne r11, rdi
lea edi, [rbx - 2]
cmovne edi, ebx
mov rcx, r11
not rcx
shr rcx, 0x3f
mov rbx, r11
shl rbx, cl
sar r11, 0x3f
not r11d
add r11d, edi
mov qword [rsp + 0xa8], r12
mov word [rsp + 0xb0], dx
mov ecx, edx
sub cx, r11w
js 0x14017fc4b
and ecx, 0x3f
mov rsi, 0xffffffffffffffff
shr rsi, cl
mov rdi, rsi
and rdi, r12
mov qword [rsp + 0x70], rdi
cmp r12, rsi
ja 0x14017fb88
shl r12, cl
mov qword [rsp + 0xa8], rax
mov word [rsp + 0xb0], dx
mov rdx, rsi
and rdx, rax
mov qword [rsp + 0x70], rdx
cmp rax, rsi
ja 0x14017fb88
shl rax, cl
mov ecx, 0xffffffa0
sub ecx, r11d
movsx ecx, cx
lea ecx, [rcx + rcx*4]
shl ecx, 4
add ecx, 0x153b0
movsxd rcx, ecx
imul rcx, rcx, 0x7b4dc993
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2a
add ecx, edx
movsxd rcx, ecx
cmp ecx, 0x51
jae 0x14017fb75
mov rbp, r8
mov qword [rsp + 0x38], r10
shl rcx, 4
lea r8, [0x1402ebb80]
mov r15, qword [rcx + r8]
movzx edx, word [rcx + r8 + 0xa]
mov dword [rsp + 0x30], edx
mov rdx, rbx
shr rdx, 0x20
mov qword [rsp + 0xa0], rdx
mov ebx, ebx
mov r13d, r15d
mov r14, rax
shr r15, 0x20
mov rax, r15
imul rax, rbx
mov rsi, rax
mov qword [rsp + 0x50], rax
mov rax, r13
imul rax, rdx
mov qword [rsp + 0x68], rax
imul rbx, r13
shr rbx, 0x20
mov edi, eax
add rdi, rbx
mov eax, esi
add r11w, word [rcx + r8 + 8]
add rax, rdi
mov rdi, rax
mov rax, r12
shr rax, 0x20
mov rcx, rax
mov qword [rsp + 0x90], rax
mov eax, r12d
mov r10, r15
imul r10, rax
mov rbx, r13
imul rbx, rcx
imul rax, r13
shr rax, 0x20
mov ecx, ebx
add rcx, rax
mov r12d, r10d
add r12, rcx
mov r8, r14
shr r8, 0x20
mov eax, r14d
mov rsi, r15
imul rsi, rax
mov rdx, r13
imul rdx, r8
imul r13, rax
shr r13, 0x20
mov eax, edx
add rax, r13
mov r14d, esi
add r14, rax
mov rcx, r15
imul rcx, qword [rsp + 0xa0]
mov rax, rdi
sub rax, 0xffffffff80000000
mov r13, qword [rsp + 0x68]
shr r13, 0x20
mov rdi, qword [rsp + 0x50]
shr rdi, 0x20
shr rax, 0x20
mov qword [rsp + 0x60], rax
neg r11d
mov rax, r15
imul rax, qword [rsp + 0x90]
sub r12, 0xffffffff80000000
shr rbx, 0x20
mov qword [rsp + 0x88], rbx
shr r10, 0x20
mov qword [rsp + 0x98], r10
mov rbx, rdi
shr r12, 0x20
mov qword [rsp + 0x80], r12
mov qword [rsp + 0xd8], r15
mov r10, r15
mov qword [rsp + 0xd0], r8
imul r10, r8
mov rdi, rcx
sub r14, 0xffffffff80000000
shr rdx, 0x20
mov qword [rsp + 0xb8], rdx
add r10, rdx
shr rsi, 0x20
mov qword [rsp + 0x68], r13
add rcx, r13
mov r8, rbx
add rcx, rbx
mov rdx, qword [rsp + 0x60]
add rdx, rcx
add rdx, 1
and r11d, 0x3f
mov qword [rsp + 0x28], rdx
mov ecx, r11d
shr rdx, cl
mov ebx, 1
shl rbx, cl
mov qword [rsp + 0xc0], rsi
add r10, rsi
shr r14, 0x20
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x58], rbx
lea rsi, [rbx - 1]
cmp edx, 0x2710
mov qword [rsp + 0x50], r8
mov qword [rsp + 0xc8], rdi
jae 0x14017f6df
cmp edx, 0x64
jae 0x14017f6fe
xor ecx, ecx
cmp edx, 9
seta cl
lea ebx, [rcx + rcx*8]
add ebx, 1
mov r15d, dword [rsp + 0x30]
jmp 0x14017f759
cmp edx, 0xf4240
jae 0x14017f71d
cmp edx, 0x186a0
mov ecx, 0x2710
mov ebx, 0x186a0
cmovb ebx, ecx
mov cl, 5
jmp 0x14017f713
cmp edx, 0x3e8
mov ecx, 0x64
mov ebx, 0x3e8
cmovb ebx, ecx
mov cl, 3
sbb cl, 0
mov r15d, dword [rsp + 0x30]
jmp 0x14017f759
cmp edx, 0x5f5e100
mov r15d, dword [rsp + 0x30]
jae 0x14017f741
cmp edx, 0x989680
mov ecx, 0xf4240
mov ebx, 0x989680
cmovb ebx, ecx
mov cl, 7
jmp 0x14017f756
cmp edx, 0x3b9aca00
mov ecx, 0x5f5e100
mov ebx, 0x3b9aca00
cmovb ebx, ecx
mov cl, 9
sbb cl, 0
add r10, qword [rsp + 0x78]
mov qword [rsp + 0x40], r10
mov rdi, qword [rsp + 0x28]
mov r14, rdi
and r14, rsi
movzx r10d, cl
mov ecx, r10d
sub ecx, r15d
add ecx, 1
mov dword [rsp + 0x4c], ecx
add rax, qword [rsp + 0x88]
add rax, qword [rsp + 0x98]
add rax, qword [rsp + 0x80]
mov r15, rdi
sub r15, rax
add r15, 1
mov qword [rsp + 0x30], r15
mov qword [rsp + 0xe0], rsi
and r15, rsi
xor r12d, r12d
nop word cs:[rax + rax]
nop
mov eax, edx
xor edx, edx
div ebx
cmp r9, r12
je 0x14017fb50
mov edi, edx
mov ecx, r11d
shl rdi, cl
add al, 0x30
mov r8, rbp
mov byte [rbp + r12], al
lea r13, [rdi + r14]
mov rsi, qword [rsp + 0x30]
sub rsi, r13
ja 0x14017f82f
cmp r10, r12
je 0x14017f980
add r12, 1
mov eax, ebx
mov ecx, 0xcccccccd
imul rax, rcx
shr rax, 0x23
cmp ebx, 0xa
mov ebx, eax
mov rbp, r8
jae 0x14017f7c0
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.14019e390
ud2
mov r15d, ebx
mov ecx, r11d
shl r15, cl
lea r11, [r12 + 1]
cmp r12, r9
jae 0x14017fc65
mov r9, qword [rsp + 0x28]
sub r9, qword [rsp + 0x40]
lea rcx, [r9 + 1]
mov qword [rsp + 0x28], rcx
add r9, 0xffffffffffffffff
cmp rsi, r15
setae bl
cmp r9, r13
jbe 0x14017fa7a
cmp rsi, r15
jb 0x14017fa7a
mov r10, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
lea rbp, [r10 + rcx]
add rbp, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xc8]
add rdx, rbp
sub rdx, qword [rsp + 0x40]
lea rbx, [rdi + r14]
sub rdx, rbx
mov qword [rsp + 0x40], r11
mov r11, qword [rsp + 0xa0]
mov rsi, r11
sub rsi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xd8]
imul rsi, rbx
add rsi, rbp
sub rsi, qword [rsp + 0x88]
sub rsi, qword [rsp + 0x98]
sub rsi, qword [rsp + 0x80]
add r14, r15
lea rbp, [r14 + rdi]
sub rsi, rbp
add r14, qword [rsp + 0xb8]
add r14, qword [rsp + 0xc0]
add r14, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xd0]
sub rcx, r11
mov r11, qword [rsp + 0x40]
imul rcx, rbx
add rcx, r14
sub rcx, r10
sub rcx, qword [rsp + 0x50]
sub rcx, qword [rsp + 0x60]
add rcx, rdi
add rsi, 2
mov r10, qword [rsp + 0x38]
mov r14, qword [rsp + 0x28]
nop word cs:[rax + rax]
nop dword [rax]
lea rdi, [r15 + r13]
cmp rdi, r9
jb 0x14017f952
cmp rdx, rcx
jb 0x14017fa91
add al, 0xff
mov rbp, rsi
sub rbp, r15
setae bl
mov byte [r8 + r12], al
cmp rdi, r9
jae 0x14017fa87
sub rdx, r15
add rcx, r15
mov r13, rdi
cmp rsi, r15
mov rsi, rbp
jae 0x14017f940
jmp 0x14017fa87
lea rax, [r12 + 1]
mov rdx, r9
cmp r12, r9
mov r9, rax
cmovb r9, rdx
mov esi, 1
mov rbp, qword [rsp + 0xe0]
nop
cmp r9, rax
je 0x14017fb64
mov r12, rsi
add r14, r14
lea rdi, [r14 + r14*4]
mov rbx, r15
add rbx, r15
lea r15, [rbx + rbx*4]
lea rcx, [rsi + rsi]
lea rsi, [rcx + rcx*4]
mov r14, rdi
and r14, rbp
mov ecx, r11d
shr rdi, cl
lea ecx, [rdi + 0x30]
mov byte [r8 + rax], cl
add rax, 1
mov rcx, r15
sub rcx, r14
jbe 0x14017f9a0
lea rbp, [rax - 1]
cmp rbp, rdx
jae 0x14017fc79
mov r13, qword [rsp + 0x28]
sub r13, qword [rsp + 0x40]
imul r13, rsi
lea r9, [rsi + r13]
cmp rcx, qword [rsp + 0x58]
setae r11b
jb 0x14017fad3
sub r13, rsi
mov rbp, r13
sub rbp, r14
jbe 0x14017fad3
add dil, 0x2f
lea rcx, [rbx + rbx*4]
mov rdx, qword [rsp + 0x58]
lea rbx, [rdx + r14]
sub rcx, rbx
mov r10, rdx
sub r10, r13
nop dword [rax + rax]
lea rbx, [r14 + rdx]
cmp rbx, r13
jb 0x14017fa52
lea rsi, [r10 + r14]
cmp rbp, rsi
jb 0x14017fad0
mov rsi, rcx
sub rsi, rdx
setae r11b
mov byte [r8 + rax - 1], dil
cmp rbx, r13
jae 0x14017fad6
add dil, 0xff
sub rbp, rdx
mov r14, rbx
cmp rcx, rdx
mov rcx, rsi
jae 0x14017fa40
jmp 0x14017fad6
mov rdi, r13
mov r10, qword [rsp + 0x38]
mov r14, qword [rsp + 0x28]
mov rax, r14
sub rax, rdi
ja 0x14017fa9e
jmp 0x14017fab3
mov bl, 1
mov rdi, r13
mov rax, r14
sub rax, rdi
jbe 0x14017fab3
test bl, bl
je 0x14017fab3
add r15, rdi
sub r15, r14
jb 0x14017fb32
cmp rax, r15
jae 0x14017fb32
cmp rdi, 2
jb 0x14017fb32
mov rax, qword [rsp + 0x30]
add rax, 0xfffffffffffffffc
cmp rdi, rax
ja 0x14017fb32
mov qword [r10], r8
mov qword [r10 + 8], r11
jmp 0x14017fb22
mov r11b, 1
mov rbx, r14
mov rbp, r9
sub rbp, rbx
jbe 0x14017faf5
test r11b, r11b
je 0x14017faf5
mov rcx, qword [rsp + 0x58]
add rcx, rbx
sub rcx, r9
jb 0x14017fb2d
cmp rbp, rcx
jae 0x14017fb2d
lea rcx, [r12*4]
lea rcx, [rcx + rcx*4]
cmp rcx, rbx
mov r10, qword [rsp + 0x38]
ja 0x14017fb32
shl r12, 3
lea rcx, [r12 + r12*4]
sub r15, rcx
cmp rbx, r15
ja 0x14017fb32
mov qword [r10], r8
mov qword [r10 + 8], rax
mov eax, dword [rsp + 0x4c]
mov word [r10 + 0x10], ax
jmp 0x14017fb39
mov r10, qword [rsp + 0x38]
mov qword [r10], 0
mov rax, r10
add rsp, 0x118
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, r9
mov rdx, r9
call fcn.14019e3e0
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, r9
call fcn.14019e3e0
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
call fcn.14019e3e0
ud2
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0xa8]
lea r8, [rsp + 0xe8]
call fcn.14019e4a0
ud2
lea rcx, [0x1402eb89f]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x14017fbe1
lea rcx, str.assertion_failed:_d.minus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x14017fc59
lea rcx, str.assertion_failed:_d.plus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.14019e390
ud2
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 fcn.14019e390
ud2
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 fcn.14019e390
ud2
lea rcx, str.assertion_failed:_buf.len_____MAX_SIG_DIGITS
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x14017fc3f
lea rcx, str.assertion_failed:_d.mant__d.plus____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x2d
call fcn.14019e390
ud2
lea rcx, str.assertion_failed:_edelta___0librarycore_src_numdiy_float.rs
lea r8, [0x1402eb718]
mov edx, 0x1d
call fcn.14019e390
ud2
mov rdx, r9
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, r11
call fcn.14019e630
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, rax
call fcn.14019e630
ud2