Function at 0x180013310
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 qword [rsp + 0xe0], r8
mov rax, qword [rdx]
test rax, rax
je 0x180013abd
mov r9, qword [rdx + 8]
test r9, r9
je 0x180013ad5
mov r14, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x180013aed
add rcx, rax
jb 0x180013b05
mov rdi, rax
sub rdi, r9
jb 0x180013b1d
mov r9, rcx
shr r9, 0x3d
jne 0x180013b35
mov r11d, dword [rdx + 0x18]
mov rdx, rcx
shr rdx, 0x20
mov rsi, rcx
shl rsi, 0x20
lea r9d, [r11 - 0x20]
test rdx, rdx
cmovne rsi, rcx
cmovne r9d, r11d
mov rcx, rsi
shr rcx, 0x30
mov rdx, rsi
shl rdx, 0x10
lea r10d, [r9 - 0x10]
test rcx, rcx
cmovne rdx, rsi
cmovne r10d, r9d
mov rcx, rdx
shr rcx, 0x38
mov rsi, rdx
shl rsi, 8
lea r9d, [r10 - 8]
test rcx, rcx
cmovne rsi, rdx
cmovne r9d, r10d
mov rcx, rsi
shr rcx, 0x3c
mov rdx, rsi
shl rdx, 4
test rcx, rcx
cmovne rdx, rsi
lea ecx, [r9 - 4]
cmovne ecx, r9d
mov r9, rdx
shr r9, 0x3e
lea rsi, [rdx*4]
lea ebx, [rcx - 2]
test r9, r9
cmovne rsi, rdx
cmovne ebx, ecx
xor ecx, ecx
test rsi, rsi
setns cl
shl rsi, cl
sub ebx, ecx
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x80], r11w
mov ecx, r11d
sub cx, bx
js 0x180013b4d
and ecx, 0x3f
mov r9, rdi
shl r9, cl
mov rdx, r9
shr rdx, cl
mov qword [rsp + 0x58], rdx
cmp rdx, rdi
jne 0x180013a9a
mov rdx, rax
shl rdx, cl
mov r10, rdx
shr r10, cl
mov qword [rsp + 0x78], rax
mov word [rsp + 0x80], r11w
mov qword [rsp + 0x58], r10
cmp r10, rax
jne 0x180013a9a
mov eax, 0xffffffa0
sub eax, ebx
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 rcx, eax
cmp ecx, 0x51
jae 0x180013a89
mov qword [rsp + 0x28], r14
shl rcx, 4
lea r14, [0x18003df38]
mov r12, qword [rcx + r14]
movzx eax, word [rcx + r14 + 0xa]
mov dword [rsp + 0x38], eax
mov r15, rsi
shr r15, 0x20
mov edi, esi
mov r11d, r12d
shr r12, 0x20
mov rbp, r12
imul rbp, rdi
mov rax, r11
imul rax, r15
imul rdi, r11
shr rdi, 0x20
mov r10d, eax
add r10, rdi
mov edi, ebp
add rdi, r10
add bx, word [rcx + r14 + 8]
mov r14, r9
shr r14, 0x20
mov ecx, r9d
mov r8, r12
imul r8, r14
mov qword [rsp + 0x50], r8
mov r13, r12
imul r13, rcx
imul r14, r11
imul rcx, r11
shr rcx, 0x20
mov r9d, r14d
add r9, rcx
mov r10d, r13d
add r10, r9
mov r9, rdx
shr r9, 0x20
mov ecx, edx
mov rsi, r12
imul rsi, rcx
mov rdx, r11
imul rdx, r9
imul r11, rcx
shr r11, 0x20
mov ecx, edx
add rcx, r11
mov r8d, esi
add r8, rcx
mov rcx, r12
mov qword [rsp + 0xc8], r15
imul rcx, r15
sub rdi, 0xffffffff80000000
shr rax, 0x20
shr rbp, 0x20
shr rdi, 0x20
neg ebx
sub r10, 0xffffffff80000000
shr r14, 0x20
shr r13, 0x20
mov qword [rsp + 0x48], r13
shr r10, 0x20
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xb0], r9
imul r12, r9
sub r8, 0xffffffff80000000
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x98], rcx
add rcx, rax
mov qword [rsp + 0xc0], rbp
add rcx, rbp
mov qword [rsp + 0x60], rdi
lea r9, [rdi + rcx]
inc r9
and ebx, 0x3f
mov r11, r9
mov ecx, ebx
shr r11, cl
shr rdx, 0x20
shr rsi, 0x20
mov eax, 1
shl rax, cl
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x90], r12
lea rdi, [rdx + r12]
mov qword [rsp + 0xa0], rsi
add rdi, rsi
shr r8, 0x20
mov qword [rsp + 0x70], r8
lea r8, [rax - 1]
cmp r11d, 0x2710
mov qword [rsp + 0xd8], rax
jae 0x180013653
cmp r11d, 0x64
jae 0x18001367a
xor ecx, ecx
cmp r11d, 0xa
setae cl
lea r15d, [rcx + rcx*8]
inc r15d
jmp 0x1800136db
cmp r11d, 0xf4240
jae 0x180013698
cmp r11d, 0x186a0
setb cl
mov edx, 0x2710
mov r15d, 0x186a0
cmovb r15d, edx
xor cl, 5
jmp 0x1800136db
cmp r11d, 0x3e8
setb cl
mov edx, 0x64
mov r15d, 0x3e8
cmovb r15d, edx
xor cl, 3
jmp 0x1800136db
cmp r11d, 0x5f5e100
jae 0x1800136bf
cmp r11d, 0x989680
setb cl
mov edx, 0xf4240
mov r15d, 0x989680
cmovb r15d, edx
xor cl, 7
jmp 0x1800136db
cmp r11d, 0x3b9aca00
setb cl
mov edx, 0x5f5e100
mov r15d, 0x3b9aca00
cmovb r15d, edx
xor cl, 9
add rdi, qword [rsp + 0x70]
mov qword [rsp + 0x68], rdi
mov rdi, r9
and rdi, r8
movzx eax, cl
mov qword [rsp + 0x40], rax
mov ecx, eax
sub ecx, dword [rsp + 0x38]
inc ecx
mov dword [rsp + 0x34], ecx
mov rax, qword [rsp + 0x50]
add rax, r14
add rax, qword [rsp + 0x48]
add rax, r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x50], rax
sub r9, rax
mov qword [rsp + 0x88], r9
lea r10, [r9 + 1]
mov r12, r10
mov qword [rsp + 0x48], r8
and r12, r8
xor r13d, r13d
mov r8, qword [rsp + 0xe0]
nop
mov eax, r11d
xor edx, edx
div r15d
add al, 0x30
mov rsi, r8
mov byte [r8 + r13], al
mov r11d, edx
mov rdx, r11
mov rbp, rbx
mov ecx, ebx
shl rdx, cl
lea rbx, [r13 + 1]
lea r14, [rdx + rdi]
mov r9, r10
sub r9, r14
ja 0x1800137b4
cmp qword [rsp + 0x40], r13
je 0x1800138c2
mov eax, r15d
mov ecx, 0xcccccccd
imul rax, rcx
shr rax, 0x23
mov r13, rbx
cmp r15d, 0xa
mov r15d, eax
mov r8, rsi
mov rbx, rbp
jae 0x180013740
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.180038800
mov r11d, r15d
mov ecx, ebp
shl r11, cl
mov rcx, qword [rsp + 0x38]
sub rcx, qword [rsp + 0x68]
lea r10, [rcx + 1]
dec rcx
cmp r9, r11
setb r15b
cmp rcx, r14
jbe 0x180013996
cmp r9, r11
mov r8, qword [rsp + 0x28]
jb 0x1800139b0
mov qword [rsp + 0x40], r10
mov rbp, qword [rsp + 0xc0]
mov r15, qword [rsp + 0xb8]
lea r10, [r15 + rbp]
add r10, qword [rsp + 0x60]
add r10, qword [rsp + 0x98]
mov r9, qword [rsp + 0xa8]
add r9, qword [rsp + 0xa0]
add r9, qword [rsp + 0x70]
mov r12, qword [rsp + 0x90]
add r12, r9
mov r8, r10
sub r8, r12
sub r8, r14
mov r14, qword [rsp + 0xb0]
sub r14, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
imul r12, r14
add r12, r9
lea r14, [rdi + r11]
add r12, r14
sub r12, r15
sub r12, rbp
sub r12, qword [rsp + 0x60]
sub r10, qword [rsp + 0x50]
sub r10, r14
sub r10, rdx
add r10, 2
mov rbp, rsi
nop dword [rax]
lea r9, [rdx + r14]
cmp r9, rcx
jb 0x180013896
lea r15, [rdx + r12]
cmp r8, r15
jb 0x18001399d
dec al
mov byte [rbp + r13], al
sub r10, r11
setb r15b
add rdi, r11
cmp r9, rcx
jae 0x1800138ba
sub r8, r11
add r12, r11
add r14, r11
test r15b, r15b
je 0x180013880
add rdx, rdi
jmp 0x1800139a3
inc r13
mov r8d, 1
mov rbx, rsi
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0xd8]
mov r10, qword [rsp + 0x48]
cmp r13, 0x10
ja 0x180013a73
mov rax, r8
add rdi, rdi
lea rdx, [rdi + rdi*4]
mov rdi, rdx
and rdi, r10
add r8, r8
lea r8, [r8 + r8*4]
add r12, r12
lea r12, [r12 + r12*4]
mov ecx, ebp
shr rdx, cl
lea r9d, [rdx + 0x30]
mov byte [rbx + r13], r9b
inc r13
mov r9, r12
sub r9, rdi
jbe 0x1800138e0
sub r14, qword [rsp + 0x68]
imul r14, r8
lea rcx, [r14 + r8]
cmp r9, r15
setb r9b
jb 0x1800139ff
sub r14, r8
mov r8, r14
sub r8, rdi
jbe 0x1800139ff
add dl, 0x2f
mov r11, r15
sub r11, r14
mov rsi, r12
sub rsi, r15
sub rsi, rdi
nop dword [rax + rax]
lea r10, [rdi + r15]
cmp r10, r14
jb 0x180013976
lea r9, [r11 + rdi]
cmp r8, r9
jb 0x1800139fc
mov byte [rbx + r13 - 1], dl
sub rsi, r15
setb r9b
cmp r10, r14
jae 0x180013a02
dec dl
sub r8, r15
mov rdi, r10
test r9b, r9b
je 0x180013960
jmp 0x180013a02
mov r8, qword [rsp + 0x28]
jmp 0x1800139b0
add rdx, rdi
xor r15d, r15d
mov r14, rdx
mov r8, qword [rsp + 0x28]
mov r10, qword [rsp + 0x40]
mov rax, r10
sub rax, r14
jbe 0x1800139ca
test r15b, r15b
jne 0x1800139ca
add r11, r14
sub r11, r10
jb 0x1800139f3
cmp rax, r11
jae 0x1800139f3
cmp r14, 2
jb 0x1800139f3
mov rax, qword [rsp + 0x88]
add rax, 0xfffffffffffffffd
cmp r14, rax
ja 0x1800139f3
mov qword [r8], rsi
mov qword [r8 + 8], rbx
mov eax, dword [rsp + 0x34]
mov word [r8 + 0x10], ax
jmp 0x180013a49
mov qword [r8], 0
jmp 0x180013a49
xor r9d, r9d
mov r10, rdi
mov rdx, rcx
sub rdx, r10
jbe 0x180013a1c
test r9b, r9b
jne 0x180013a1c
add r15, r10
sub r15, rcx
jb 0x180013a3d
cmp rdx, r15
jae 0x180013a3d
lea rcx, [rax*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r10
ja 0x180013a3d
shl rax, 3
lea rax, [rax + rax*4]
sub r12, rax
cmp r10, r12
jbe 0x180013a5d
mov rax, qword [rsp + 0x28]
mov qword [rax], 0
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x28]
mov qword [rax], rbx
mov qword [rax + 8], r13
mov ecx, dword [rsp + 0x34]
mov word [rax + 0x10], cx
jmp 0x180013a49
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov ecx, 0x11
mov edx, 0x11
call fcn.180038770
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
call fcn.180038770
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x78]
lea r8, [rsp + 0xe8]
call fcn.180038850
lea rcx, [0x18003dcb7]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.180038800
lea rcx, str.assertion_failed:_d.minus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1d
call fcn.180038800
lea rcx, str.assertion_failed:_d.plus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.180038800
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.180038800
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.180038800
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.180038800
lea rcx, str.assertion_failed:_edelta___0librarycore_src_numdiy_float.rs
lea r8, [0x18003db58]
mov edx, 0x1d
call fcn.180038800
int3