Function at 0x14003c250
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x118
lea rbp, [rsp + 0x80]
mov rax, qword [rdx]
test rax, rax
je 0x14003c999
mov r9, qword [rdx + 8]
test r9, r9
je 0x14003c9b1
mov rdi, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x14003c9c9
add rcx, rax
jb 0x14003c9e1
mov rsi, rax
sub rsi, r9
jb 0x14003c9f9
mov r9, rcx
shr r9, 0x3d
jne 0x14003ca11
mov r9d, dword [rdx + 0x18]
mov rdx, rcx
shr rdx, 0x20
mov rbx, rcx
shl rbx, 0x20
lea r10d, [r9 - 0x20]
test rdx, rdx
cmovne rbx, rcx
cmovne r10d, r9d
mov rcx, rbx
shr rcx, 0x30
mov rdx, rbx
shl rdx, 0x10
lea r11d, [r10 - 0x10]
test rcx, rcx
cmovne rdx, rbx
cmovne r11d, r10d
mov rcx, rdx
shr rcx, 0x38
mov rbx, rdx
shl rbx, 8
lea r10d, [r11 - 8]
test rcx, rcx
cmovne rbx, rdx
cmovne r10d, r11d
mov rcx, rbx
shr rcx, 0x3c
mov rdx, rbx
shl rdx, 4
test rcx, rcx
cmovne rdx, rbx
lea ecx, [r10 - 4]
cmovne ecx, r10d
mov r10, rdx
shr r10, 0x3e
lea r11, [rdx*4]
lea r14d, [rcx - 2]
test r10, r10
cmovne r11, rdx
cmovne r14d, ecx
xor ecx, ecx
test r11, r11
setns cl
shl r11, cl
sub r14d, ecx
mov qword [rbp + 0x20], rsi
mov word [rbp + 0x28], r9w
mov ecx, r9d
sub cx, r14w
js 0x14003ca29
and ecx, 0x3f
mov r15, rsi
shl r15, cl
mov rdx, r15
shr rdx, cl
mov qword [rbp + 0x50], rdx
cmp rdx, rsi
jne 0x14003c980
mov rdx, rax
shl rdx, cl
mov r10, rdx
shr r10, cl
mov qword [rbp + 0x20], rax
mov word [rbp + 0x28], r9w
mov qword [rbp + 0x50], r10
cmp r10, rax
jne 0x14003c980
mov eax, 0xffffffa0
sub eax, r14d
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 0x14003c96f
mov r12, r8
mov qword [rbp + 0x90], rdi
shl rcx, 4
lea r10, [0x140138a80]
mov r8, qword [rcx + r10]
movzx eax, word [rcx + r10 + 0xa]
mov dword [rbp + 0x68], eax
mov rax, r11
shr rax, 0x20
mov rdi, rax
mov qword [rbp + 0x30], rax
mov r11d, r11d
mov r9d, r8d
shr r8, 0x20
mov rax, r8
imul rax, r11
mov rsi, r9
imul rsi, rdi
mov qword [rbp + 0x58], rsi
imul r11, r9
shr r11, 0x20
mov edi, esi
add rdi, r11
mov rsi, rdx
mov r13d, eax
mov rdx, rax
add r13, rdi
add r14w, word [rcx + r10 + 8]
mov rbx, r15
shr rbx, 0x20
mov ecx, r15d
mov r10, r8
imul r10, rbx
mov qword [rbp + 0x60], r10
mov r15, r8
imul r15, rcx
imul rbx, r9
imul rcx, r9
shr rcx, 0x20
mov r10d, ebx
add r10, rcx
mov r11d, r15d
add r11, r10
mov rdi, rsi
mov ecx, edi
mov rsi, r8
imul rsi, rcx
mov r10, r9
imul r9, rcx
shr rdi, 0x20
imul r10, rdi
shr r9, 0x20
mov ecx, r10d
add rcx, r9
mov r9d, esi
add r9, rcx
mov rcx, r8
imul rcx, qword [rbp + 0x30]
sub r13, 0xffffffff80000000
mov rax, qword [rbp + 0x58]
shr rax, 0x20
shr rdx, 0x20
shr r13, 0x20
neg r14d
sub r11, 0xffffffff80000000
shr rbx, 0x20
mov qword [rbp - 0x28], rbx
shr r15, 0x20
mov qword [rbp + 0x70], r15
shr r11, 0x20
mov qword [rbp - 0x18], r8
mov qword [rbp], rdi
imul r8, rdi
sub r9, 0xffffffff80000000
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x10], rcx
add rcx, rax
mov qword [rbp - 0x10], rdx
add rcx, rdx
mov qword [rbp + 0x48], r13
lea rbx, [rcx + r13]
inc rbx
and r14d, 0x3f
mov qword [rbp + 0x88], rbx
mov ecx, r14d
shr rbx, cl
shr r10, 0x20
shr rsi, 0x20
mov eax, 1
shl rax, cl
mov qword [rbp - 8], r10
mov qword [rbp + 0x18], r8
add r8, r10
mov qword [rbp + 8], rsi
add r8, rsi
shr r9, 0x20
mov qword [rbp + 0x38], r9
mov qword [rbp - 0x20], rax
lea r10, [rax - 1]
cmp ebx, 0x2710
jae 0x14003c57f
cmp ebx, 0x64
jae 0x14003c5a4
xor ecx, ecx
cmp ebx, 0xa
setae cl
lea r9d, [rcx + rcx*8]
inc r9d
jmp 0x14003c601
cmp ebx, 0xf4240
jae 0x14003c5c1
cmp ebx, 0x186a0
setb cl
mov edx, 0x2710
mov r9d, 0x186a0
cmovb r9d, edx
xor cl, 5
jmp 0x14003c601
cmp ebx, 0x3e8
setb cl
mov edx, 0x64
mov r9d, 0x3e8
cmovb r9d, edx
xor cl, 3
jmp 0x14003c601
cmp ebx, 0x5f5e100
jae 0x14003c5e6
cmp ebx, 0x989680
setb cl
mov edx, 0xf4240
mov r9d, 0x989680
cmovb r9d, edx
xor cl, 7
jmp 0x14003c601
cmp ebx, 0x3b9aca00
setb cl
mov edx, 0x5f5e100
mov r9d, 0x3b9aca00
cmovb r9d, edx
xor cl, 9
add r8, qword [rbp + 0x38]
mov qword [rbp + 0x40], r8
mov rdx, qword [rbp + 0x88]
mov rdi, rdx
and rdi, r10
movzx eax, cl
mov qword [rbp + 0x78], rax
mov ecx, eax
sub ecx, dword [rbp + 0x68]
inc ecx
mov dword [rbp + 0x84], ecx
mov rax, qword [rbp + 0x60]
add rax, qword [rbp - 0x28]
add rax, qword [rbp + 0x70]
add rax, r11
mov qword [rbp + 0x60], rax
sub rdx, rax
mov qword [rbp + 0x70], rdx
lea r8, [rdx + 1]
mov r15, r8
mov qword [rbp + 0x68], r10
and r15, r10
xor r13d, r13d
nop word cs:[rax + rax]
mov eax, ebx
xor edx, edx
div r9d
add al, 0x30
mov rsi, r12
mov byte [r12 + r13], al
mov ebx, edx
mov rdx, rbx
mov r10, r14
mov ecx, r14d
shl rdx, cl
lea r11, [r13 + 1]
lea r12, [rdx + rdi]
mov r14, r8
sub r14, r12
ja 0x14003c6c6
cmp qword [rbp + 0x78], r13
je 0x14003c7b9
mov eax, r9d
mov ecx, 0xcccccccd
imul rax, rcx
shr rax, 0x23
mov r13, r11
cmp r9d, 0xa
mov r9d, eax
mov r12, rsi
mov r14, r10
jae 0x14003c660
lea rcx, str.librarycore_src_num_flt2dec_strategygrisu.rs
call fcn.14003ca50
mov r9d, r9d
mov ecx, r10d
shl r9, cl
mov rcx, qword [rbp + 0x88]
sub rcx, qword [rbp + 0x40]
lea r8, [rcx + 1]
dec rcx
cmp r14, r9
setb r15b
mov qword [rbp + 0x88], rcx
cmp rcx, r12
jbe 0x14003c89f
cmp r14, r9
jb 0x14003c89f
mov qword [rbp + 0x78], r8
mov r14, qword [rbp - 0x10]
mov r15, qword [rbp + 0x58]
lea r8, [r15 + r14]
add r8, qword [rbp + 0x48]
add r8, qword [rbp + 0x10]
mov rbx, qword [rbp - 8]
add rbx, qword [rbp + 8]
add rbx, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x18]
add rcx, rbx
mov r10, r8
sub r10, rcx
sub r10, r12
mov r12, qword [rbp]
sub r12, qword [rbp + 0x30]
mov rcx, qword [rbp - 0x18]
imul rcx, r12
add rcx, rbx
lea rbx, [rdi + r9]
add rcx, rbx
sub rcx, r15
sub rcx, r14
sub rcx, qword [rbp + 0x48]
sub r8, qword [rbp + 0x60]
sub r8, rbx
sub r8, rdx
add r8, 2
mov r12, rsi
nop word [rax + rax]
lea r14, [rdx + rbx]
cmp r14, qword [rbp + 0x88]
jb 0x14003c78a
lea r15, [rdx + rcx]
cmp r10, r15
jb 0x14003c892
dec al
mov byte [r12 + r13], al
sub r8, r9
setb r15b
add rdi, r9
cmp r14, qword [rbp + 0x88]
jae 0x14003c7b1
sub r10, r9
add rcx, r9
add rbx, r9
test r15b, r15b
je 0x14003c770
add rdx, rdi
jmp 0x14003c898
inc r13
mov r8d, 1
mov rbx, rsi
mov rcx, r10
mov r14, qword [rbp + 0x88]
mov r12, qword [rbp - 0x20]
mov r10, qword [rbp + 0x68]
nop word [rax + rax]
cmp r13, 0x10
ja 0x14003c959
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 r15, r15
lea r15, [r15 + r15*4]
shr rdx, cl
lea r9d, [rdx + 0x30]
mov byte [rbx + r13], r9b
inc r13
mov r9, r15
sub r9, rdi
jbe 0x14003c7e0
sub r14, qword [rbp + 0x40]
imul r14, r8
lea rcx, [r14 + r8]
cmp r9, r12
setb r10b
jb 0x14003c8df
sub r14, r8
mov r8, r14
sub r8, rdi
jbe 0x14003c8df
add dl, 0x2f
mov r11, r12
sub r11, r14
mov rsi, r15
sub rsi, r12
sub rsi, rdi
nop dword [rax + rax]
lea r9, [rdi + r12]
cmp r9, r14
jb 0x14003c872
lea r10, [r11 + rdi]
cmp r8, r10
jb 0x14003c8dc
mov byte [rbx + r13 - 1], dl
sub rsi, r12
setb r10b
cmp r9, r14
jae 0x14003c8e2
dec dl
sub r8, r12
mov rdi, r9
test r10b, r10b
je 0x14003c860
jmp 0x14003c8e2
add rdx, rdi
xor r15d, r15d
mov r12, rdx
mov r8, qword [rbp + 0x78]
mov rax, r8
sub rax, r12
jbe 0x14003c8b9
test r15b, r15b
jne 0x14003c8b9
add r9, r12
sub r9, r8
jb 0x14003c91d
cmp rax, r9
jae 0x14003c91d
cmp r12, 2
jb 0x14003c91d
mov rax, qword [rbp + 0x70]
add rax, 0xfffffffffffffffd
cmp r12, rax
ja 0x14003c91d
mov rax, qword [rbp + 0x90]
mov qword [rax], rsi
mov qword [rax + 8], r11
jmp 0x14003c93b
xor r10d, r10d
mov r9, rdi
mov rdx, rcx
sub rdx, r9
jbe 0x14003c8fc
test r10b, r10b
jne 0x14003c8fc
add r12, r9
sub r12, rcx
jb 0x14003c91d
cmp rdx, r12
jae 0x14003c91d
lea rcx, [rax*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r9
ja 0x14003c91d
shl rax, 3
lea rax, [rax + rax*4]
sub r15, rax
cmp r9, r15
jbe 0x14003c92d
mov rax, qword [rbp + 0x90]
mov qword [rax], 0
jmp 0x14003c945
mov rax, qword [rbp + 0x90]
mov qword [rax], rbx
mov qword [rax + 8], r13
mov ecx, dword [rbp + 0x84]
mov word [rax + 0x10], cx
add rsp, 0x118
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov ecx, 0x11
mov edx, 0x11
call fcn.140038810
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
call fcn.140038810
mov qword [rbp - 0x58], 0
lea rcx, [rbp + 0x50]
lea rdx, [rbp + 0x20]
lea r8, [rbp - 0x58]
call fcn.140039710
lea rcx, [0x1401387ff]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.1400396c0
lea rcx, str.assertion_failed:_d.minus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1d
call fcn.1400396c0
lea rcx, str.assertion_failed:_d.plus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.1400396c0
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.1400396c0
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.1400396c0
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.1400396c0
lea rcx, str.assertion_failed:_edelta___0librarycore_src_numdiy_float.rs
lea r8, [0x1401386a0]
mov edx, 0x1d
call fcn.1400396c0
int3