Function at 0x180179c60
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x138
lea rbp, [rsp + 0x80]
mov r10, qword [rdx]
test r10, r10
je 0x18017a443
mov rax, qword [rdx + 8]
test rax, rax
je 0x18017a45b
mov rbx, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x18017a473
add rcx, r10
jb 0x18017a4f8
mov rsi, r10
sub rsi, rax
jb 0x18017a510
cmp r9, 0x10
jbe 0x18017a48b
mov rax, rcx
shr rax, 0x3d
jne 0x18017a4a3
mov qword [rbp + 0x80], r9
mov eax, dword [rdx + 0x18]
mov rdx, rcx
shr rdx, 0x20
mov rdi, rcx
shl rdi, 0x20
lea r9d, [rax - 0x20]
test rdx, rdx
cmovne r9d, eax
cmovne rdi, rcx
mov rcx, rdi
shr rcx, 0x30
mov rdx, rdi
shl rdx, 0x10
lea r11d, [r9 - 0x10]
test rcx, rcx
cmovne r11d, r9d
cmovne rdx, rdi
mov rcx, rdx
shr rcx, 0x38
mov r14, rdx
shl r14, 8
lea r9d, [r11 - 8]
test rcx, rcx
cmovne r9d, r11d
cmovne r14, rdx
mov rcx, r14
shr rcx, 0x3c
mov r11, r14
shl r11, 4
lea edi, [r9 - 4]
test rcx, rcx
cmovne edi, r9d
cmovne r11, r14
mov rcx, r11
shr rcx, 0x3e
lea rdx, [r11*4]
lea r13d, [rdi - 2]
test rcx, rcx
cmovne r13d, edi
cmovne rdx, r11
xor ecx, ecx
test rdx, rdx
setns cl
sub r13d, ecx
shl rdx, cl
mov qword [rbp], rsi
mov word [rbp + 8], ax
mov ecx, eax
sub cx, r13w
js 0x18017a4bb
and ecx, 0x3f
mov r11, 0xffffffffffffffff
shr r11, cl
mov r9, r11
and r9, rsi
mov qword [rbp + 0x78], r9
cmp rsi, r11
ja 0x18017a41d
shl rsi, cl
mov qword [rbp], r10
mov word [rbp + 8], ax
mov rax, r11
and rax, r10
mov qword [rbp + 0x78], rax
cmp r10, r11
ja 0x18017a41d
mov qword [rbp + 0xb0], rbx
mov eax, 0xffffffa0
sub eax, r13d
cwde
lea eax, [rax + rax*4]
shl eax, 4
add eax, 0x153b0
cdqe
imul rax, rax, 0x7b4dc993
mov r9, rax
shr r9, 0x3f
sar rax, 0x2a
add eax, r9d
cdqe
cmp eax, 0x51
jae 0x18017a528
shl r10, cl
shl rax, 4
lea r11, [0x180230590]
mov r15, qword [rax + r11]
movzx ecx, word [rax + r11 + 0xa]
mov dword [rbp + 0xa8], ecx
mov rcx, rdx
shr rcx, 0x20
mov rbx, rcx
mov qword [rbp + 0x10], rcx
mov edx, edx
mov ecx, r15d
shr r15, 0x20
mov r9, r15
imul r9, rdx
mov rdi, r9
mov qword [rbp + 0xa0], r9
mov r14, rcx
imul r14, rbx
imul rdx, rcx
shr rdx, 0x20
mov r9d, r14d
add r9, rdx
mov r12d, edi
add r12, r9
add r13w, word [rax + r11 + 8]
mov rbx, r10
mov r10, rsi
shr r10, 0x20
mov eax, esi
mov rdx, r15
imul rdx, r10
mov qword [rbp + 0x20], rdx
mov rsi, r15
imul rsi, rax
imul r10, rcx
imul rax, rcx
shr rax, 0x20
mov edx, r10d
add rdx, rax
mov edi, esi
add rdi, rdx
mov eax, ebx
mov r11, r15
imul r11, rax
mov r9, rcx
imul rcx, rax
mov rdx, rbx
shr rdx, 0x20
imul r9, rdx
shr rcx, 0x20
mov eax, r9d
add rax, rcx
mov ebx, r11d
add rbx, rax
mov rax, r15
imul rax, qword [rbp + 0x10]
sub r12, 0xffffffff80000000
shr r14, 0x20
mov rcx, qword [rbp + 0xa0]
shr rcx, 0x20
shr r12, 0x20
neg r13d
sub rdi, 0xffffffff80000000
shr r10, 0x20
mov qword [rbp + 0x18], r10
shr rsi, 0x20
mov qword [rbp + 0x28], rsi
shr rdi, 0x20
mov qword [rbp + 0x30], rdi
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], rdx
imul r15, rdx
sub rbx, 0xffffffff80000000
mov qword [rbp + 0x48], r14
mov qword [rbp + 0x70], rax
add rax, r14
mov qword [rbp + 0xa0], rcx
add rax, rcx
mov qword [rbp + 0x90], r12
lea r10, [r12 + rax]
inc r10
and r13d, 0x3f
mov rdx, r10
mov ecx, r13d
shr rdx, cl
shr r9, 0x20
shr r11, 0x20
mov eax, 1
shl rax, cl
mov qword [rbp + 0x50], r9
mov qword [rbp + 0x68], r15
lea rsi, [r9 + r15]
mov qword [rbp + 0x58], r11
add rsi, r11
shr rbx, 0x20
mov qword [rbp + 0x88], rax
lea r11, [rax - 1]
cmp edx, 0x2710
jae 0x180179fa7
cmp edx, 0x64
jae 0x180179fcb
xor eax, eax
cmp edx, 0xa
setae al
lea r9d, [rax + rax*8]
inc r9d
jmp 0x18017a025
cmp edx, 0xf4240
jae 0x180179fe7
cmp edx, 0x186a0
setb al
mov ecx, 0x2710
mov r9d, 0x186a0
cmovb r9d, ecx
xor al, 5
jmp 0x18017a025
cmp edx, 0x3e8
setb al
mov ecx, 0x64
mov r9d, 0x3e8
cmovb r9d, ecx
xor al, 3
jmp 0x18017a025
cmp edx, 0x5f5e100
jae 0x18017a00b
cmp edx, 0x989680
setb al
mov ecx, 0xf4240
mov r9d, 0x989680
cmovb r9d, ecx
xor al, 7
jmp 0x18017a025
cmp edx, 0x3b9aca00
setb al
mov ecx, 0x5f5e100
mov r9d, 0x3b9aca00
cmovb r9d, ecx
xor al, 9
mov qword [rbp + 0x60], rbx
add rsi, rbx
mov qword [rbp + 0x40], rsi
mov r14, r10
and r14, r11
movzx esi, al
mov eax, esi
sub eax, dword [rbp + 0xa8]
inc eax
mov dword [rbp + 0x9c], eax
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x20]
add rax, rcx
add rax, qword [rbp + 0x28]
add rax, qword [rbp + 0x30]
mov qword [rbp + 0x38], r10
sub r10, rax
mov qword [rbp - 8], r10
mov rax, r11
lea r11, [r10 + 1]
mov rdi, r11
mov qword [rbp - 0x20], rax
and rdi, rax
neg rsi
mov qword [rbp + 0xa8], rsi
mov r10, qword [rbp + 0x80]
neg r10
mov esi, 1
nop word cs:[rax + rax]
lea rcx, [r10 + rsi]
mov eax, edx
xor edx, edx
div r9d
cmp rcx, 1
je 0x18017a4d3
add al, 0x30
mov r15d, edx
mov r12, r13
mov ecx, r13d
shl r15, cl
mov r13, r8
mov byte [r8 + rsi - 1], al
lea rbx, [r15 + r14]
mov r8, r11
sub r8, rbx
ja 0x18017a119
mov rax, qword [rbp + 0xa8]
add rax, rsi
cmp rax, 1
je 0x18017a222
mov eax, r9d
mov ecx, 0xcccccccd
imul rax, rcx
shr rax, 0x23
inc rsi
cmp r9d, 0xa
mov r9d, eax
mov r8, r13
mov r13, r12
jae 0x18017a0a0
lea rcx, str.core_src_num_flt2dec_strategygrisu.rs
call fcn.180191bd0
mov edx, r9d
mov ecx, r12d
shl rdx, cl
mov r9, qword [rbp + 0x38]
sub r9, qword [rbp + 0x40]
lea r10, [r9 + 1]
dec r9
cmp r8, rdx
setb r11b
cmp r9, rbx
jbe 0x18017a343
cmp r8, rdx
mov rcx, qword [rbp + 0xb0]
jb 0x18017a363
mov qword [rbp + 0xa8], r10
mov rbx, r9
mov r12, qword [rbp + 0x48]
mov rcx, qword [rbp + 0xa0]
lea r9, [r12 + rcx]
add r9, qword [rbp + 0x90]
add r9, qword [rbp + 0x70]
mov rdi, qword [rbp + 0x50]
add rdi, qword [rbp + 0x58]
add rdi, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x68]
add rcx, rdi
mov r10, r9
sub r10, rcx
sub r10, r15
sub r10, r14
mov rcx, qword [rbp + 0x18]
add rcx, qword [rbp + 0x28]
add rcx, qword [rbp + 0x30]
add rcx, qword [rbp + 0x20]
sub r9, rcx
lea r8, [r14 + rdx]
sub r9, r8
sub r9, r15
mov r11, qword [rbp - 0x10]
sub r11, qword [rbp + 0x10]
mov rcx, qword [rbp - 0x18]
imul rcx, r11
add rdi, r8
add rcx, rdi
sub rcx, r12
sub rcx, qword [rbp + 0xa0]
sub rcx, qword [rbp + 0x90]
add r9, 2
mov r12, r13
nop
lea rdi, [r15 + r8]
cmp rdi, rbx
jb 0x18017a1f6
lea r11, [r15 + rcx]
cmp r10, r11
jb 0x18017a34c
dec al
mov byte [r12 + rsi - 1], al
sub r9, rdx
setb r11b
add r14, rdx
cmp rdi, rbx
jae 0x18017a21a
sub r10, rdx
add r8, rdx
add rcx, rdx
test r11b, r11b
je 0x18017a1e0
add r15, r14
jmp 0x18017a352
mov r9d, 1
mov rdx, qword [rbp + 0x80]
mov r11, qword [rbp - 0x20]
nop word cs:[rax + rax]
cmp rsi, rdx
jae 0x18017a4e9
mov rax, r9
add r14, r14
lea r15, [r14 + r14*4]
mov r14, r15
and r14, r11
lea rcx, [r9 + r9]
lea r9, [rcx + rcx*4]
mov r10, rdi
add r10, rdi
lea rdi, [r10 + r10*4]
mov ecx, r12d
shr r15, cl
lea ecx, [r15 + 0x30]
mov byte [r13 + rsi], cl
inc rsi
mov r8, rdi
sub r8, r14
jbe 0x18017a240
mov r12, qword [rbp + 0x38]
sub r12, qword [rbp + 0x40]
imul r12, r9
lea rcx, [r12 + r9]
mov rdx, qword [rbp + 0x88]
cmp r8, rdx
setb r8b
jb 0x18017a399
sub r12, r9
mov r9, r12
sub r9, r14
jbe 0x18017a399
lea r11, [r10 + r10*4]
sub r11, rdx
sub r11, r14
mov rdx, qword [rbp + 0x48]
add rdx, qword [rbp + 0xa0]
add rdx, qword [rbp + 0x90]
add rdx, qword [rbp + 0x70]
mov r10, qword [rbp + 0x50]
add r10, qword [rbp + 0x58]
add r10, qword [rbp + 0x60]
add r10, qword [rbp + 0x68]
add rdx, rdx
lea r8, [rdx + rdx*4]
mov rdx, qword [rbp + 0x88]
add r10, r10
lea rbx, [r10 + r10*4]
sub rbx, r8
add r15b, 0x2f
imul rbx, rax
add rbx, rdx
nop dword [rax + rax]
lea r10, [r14 + rdx]
cmp r10, r12
jb 0x18017a322
lea r8, [rbx + r14]
cmp r9, r8
jb 0x18017a396
mov byte [r13 + rsi - 1], r15b
sub r11, rdx
setb r8b
cmp r10, r12
jae 0x18017a39c
dec r15b
sub r9, rdx
mov r14, r10
test r8b, r8b
je 0x18017a310
jmp 0x18017a39c
mov rcx, qword [rbp + 0xb0]
jmp 0x18017a363
add r15, r14
xor r11d, r11d
mov rbx, r15
mov rcx, qword [rbp + 0xb0]
mov r10, qword [rbp + 0xa8]
mov rax, r10
sub rax, rbx
jbe 0x18017a381
test r11b, r11b
jne 0x18017a381
add rdx, rbx
sub rdx, r10
jb 0x18017a3ff
cmp rax, rdx
jae 0x18017a3ff
cmp rbx, 2
jb 0x18017a3ff
mov rax, qword [rbp - 8]
add rax, 0xfffffffffffffffd
cmp rbx, rax
jbe 0x18017a3e5
jmp 0x18017a3ff
xor r8d, r8d
mov r10, r14
mov rdx, rcx
sub rdx, r10
jbe 0x18017a3bd
test r8b, r8b
jne 0x18017a3bd
mov r8, qword [rbp + 0x88]
add r8, r10
sub r8, rcx
jb 0x18017a3f8
cmp rdx, r8
jae 0x18017a3f8
lea rcx, [rax*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r10
mov rcx, qword [rbp + 0xb0]
ja 0x18017a3ff
shl rax, 3
lea rax, [rax + rax*4]
sub rdi, rax
cmp r10, rdi
ja 0x18017a3ff
mov qword [rcx], r13
mov qword [rcx + 8], rsi
mov eax, dword [rbp + 0x9c]
mov word [rcx + 0x10], ax
jmp 0x18017a406
mov rcx, qword [rbp + 0xb0]
mov qword [rcx], 0
mov rax, rcx
add rsp, 0x138
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp - 0x50], 0
lea rax, [0x1802301f0]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x78]
mov r8, rbp
lea r9, [rbp - 0x50]
xor ecx, ecx
call fcn.1801917b2
lea rcx, [0x1802302cb]
lea r8, str.core_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.1801916b0
lea rcx, str.assertion_failed:_d.minus___0
lea r8, str.core_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1d
call fcn.1801916b0
lea rcx, str.assertion_failed:_d.plus___0
lea r8, str.core_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.1801916b0
lea rcx, str.assertion_failed:_buf.len_____MAX_SIG_DIGITS
lea r8, str.core_src_num_flt2dec_strategygrisu.rs
mov edx, 0x2d
call fcn.1801916b0
lea rcx, str.assertion_failed:_d.mant__d.plus____1____61_
lea r8, str.core_src_num_flt2dec_strategygrisu.rs
mov edx, 0x2d
call fcn.1801916b0
lea rcx, [0x1802301a1]
lea r8, [0x1802301d8]
mov edx, 0x1d
call fcn.1801916b0
lea r8, str.core_src_num_flt2dec_strategygrisu.rs
mov rcx, qword [rbp + 0x80]
mov rdx, rcx
call fcn.180191734
lea r8, str.core_src_num_flt2dec_strategygrisu.rs
mov rcx, rsi
call fcn.180191734
lea rcx, str.assertion_failed:_d.mant.checked_add_d.plus_.is_some__
lea r8, str.core_src_num_flt2dec_strategygrisu.rs
mov edx, 0x36
call fcn.1801916b0
lea rcx, str.assertion_failed:_d.mant.checked_sub_d.minus_.is_some__
lea r8, str.core_src_num_flt2dec_strategygrisu.rs
mov edx, 0x37
call fcn.1801916b0
lea r8, str.core_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rax
call fcn.180191734
int3