Function at 0x180028b20
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov r14, qword [rdx]
test r14, r14
je 0x1800292e6
mov rax, qword [rdx + 8]
test rax, rax
je 0x1800292f6
mov rdi, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x180029306
add rcx, r14
jb 0x180029320
mov r9, r14
sub r9, rax
jb 0x18002933a
mov rax, rcx
shr rax, 0x3d
jne 0x180029354
mov eax, dword [rdx + 0x18]
mov rdx, rcx
shr rdx, 0x20
mov rbx, rcx
shl rbx, 0x20
lea r10d, [rax - 0x20]
test rdx, rdx
cmovne rbx, rcx
cmovne r10d, eax
mov rcx, rbx
shr rcx, 0x30
mov rdx, rbx
shl rdx, 0x10
lea esi, [r10 - 0x10]
test rcx, rcx
cmovne rdx, rbx
cmovne esi, r10d
mov rcx, rdx
shr rcx, 0x38
mov rbx, rdx
shl rbx, 8
lea r10d, [rsi - 8]
test rcx, rcx
cmovne rbx, rdx
cmovne r10d, esi
mov rcx, rbx
shr rcx, 0x3c
mov rsi, rbx
shl rsi, 4
test rcx, rcx
cmovne rsi, rbx
lea ecx, [r10 - 4]
cmovne ecx, r10d
mov rbx, rsi
shr rbx, 0x3e
lea rdx, [rsi*4]
lea r15d, [rcx - 2]
test rbx, rbx
cmovne rdx, rsi
cmovne r15d, ecx
xor ecx, ecx
test rdx, rdx
setns cl
shl rdx, cl
sub r15d, ecx
mov qword [rsp + 0x80], r9
mov word [rsp + 0x88], ax
mov ecx, eax
sub cx, r15w
js 0x18002936e
and ecx, 0x3f
mov rbx, 0xffffffffffffffff
shr rbx, cl
mov rsi, rbx
and rsi, r9
mov qword [rsp + 0x60], rsi
cmp r9, rbx
ja 0x1800292be
shl r9, cl
mov qword [rsp + 0x80], r14
mov word [rsp + 0x88], ax
mov rax, rbx
and rax, r14
mov qword [rsp + 0x60], rax
cmp r14, rbx
ja 0x1800292be
mov eax, 0xffffffa0
sub eax, r15d
cwde
lea eax, [rax + rax*4]
shl eax, 4
add eax, 0x153b0
cdqe
imul rax, rax, 0x7b4dc993
mov rsi, rax
shr rsi, 0x3f
sar rax, 0x2a
add eax, esi
cdqe
cmp eax, 0x51
jae 0x1800292a8
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rdi
shl r14, cl
shl rax, 4
lea r8, [0x1801ac898]
mov r10, qword [rax + r8]
movzx ecx, word [rax + r8 + 0xa]
mov dword [rsp + 0x30], ecx
mov rcx, rdx
shr rcx, 0x20
mov r11, rcx
mov qword [rsp + 0x78], rcx
mov edx, edx
mov ecx, r10d
shr r10, 0x20
mov rbp, r10
imul rbp, rdx
mov r12, rcx
imul r12, r11
imul rdx, rcx
shr rdx, 0x20
mov esi, r12d
add rsi, rdx
mov r13d, ebp
add r13, rsi
add r15w, word [rax + r8 + 8]
mov rax, r9
shr rax, 0x20
mov edx, r9d
mov r9, r10
imul r9, rax
mov r11, r10
imul r11, rdx
imul rax, rcx
imul rdx, rcx
shr rdx, 0x20
mov r8d, eax
add r8, rdx
mov ebx, r11d
add rbx, r8
mov rsi, r14
shr rsi, 0x20
mov edx, r14d
mov rdi, r10
imul rdi, rdx
mov r8, rcx
imul r8, rsi
imul rcx, rdx
shr rcx, 0x20
mov edx, r8d
add rdx, rcx
mov r14d, edi
add r14, rdx
mov rcx, r10
imul rcx, qword [rsp + 0x78]
sub r13, 0xffffffff80000000
shr r12, 0x20
shr rbp, 0x20
shr r13, 0x20
neg r15d
sub rbx, 0xffffffff80000000
shr rax, 0x20
shr r11, 0x20
mov qword [rsp + 0x28], r11
shr rbx, 0x20
mov r11, r10
imul r11, rsi
sub r14, 0xffffffff80000000
shr r8, 0x20
mov qword [rsp + 0xa0], r8
add r11, r8
shr rdi, 0x20
mov qword [rsp + 0xb8], r12
mov qword [rsp + 0x90], rcx
add rcx, r12
add rcx, rbp
mov qword [rsp + 0x68], r13
lea r8, [rcx + r13]
inc r8
and r15d, 0x3f
mov r13, r8
mov ecx, r15d
shr r13, cl
mov edx, 1
shl rdx, cl
mov qword [rsp + 0x98], rdi
add r11, rdi
shr r14, 0x20
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x50], rdx
lea rdi, [rdx - 1]
cmp r13d, 0x2710
mov qword [rsp + 0xc0], rbp
mov qword [rsp + 0xa8], rsi
jae 0x180028e59
cmp r13d, 0x64
jae 0x180028e84
xor ecx, ecx
cmp r13d, 0xa
setae cl
lea r14d, [rcx + rcx*8]
inc r14d
jmp 0x180028ea0
cmp r13d, 0xf4240
jae 0x18002916d
cmp r13d, 0x186a0
setb cl
mov edx, 0x2710
mov r14d, 0x186a0
cmovb r14d, edx
xor cl, 5
jmp 0x180028ea0
cmp r13d, 0x3e8
setb cl
mov edx, 0x64
mov r14d, 0x3e8
cmovb r14d, edx
xor cl, 3
mov edx, dword [rsp + 0x30]
mov r12, qword [rsp + 0x28]
add r11, qword [rsp + 0x70]
mov qword [rsp + 0x58], r11
mov rsi, r8
and rsi, rdi
mov r11, r8
movzx ebp, cl
mov ecx, ebp
sub ecx, edx
inc ecx
mov dword [rsp + 0x4c], ecx
add r9, rax
add r9, r12
add r9, rbx
mov qword [rsp + 0x28], r8
mov qword [rsp + 0xb0], r9
sub r11, r9
inc r11
mov qword [rsp + 0x30], r11
and r11, rdi
xor ebx, ebx
mov r9d, 0xcccccccd
mov r8, qword [rsp + 0x40]
nop word [rax + rax]
mov eax, r13d
xor edx, edx
div r14d
add al, 0x30
mov r13d, edx
mov rdx, r13
mov ecx, r15d
shl rdx, cl
mov byte [r8 + rbx], al
lea r8, [rdx + rsi]
mov r12, qword [rsp + 0x30]
sub r12, r8
ja 0x180028f67
cmp rbp, rbx
je 0x180029087
mov eax, r14d
imul rax, r9
shr rax, 0x23
inc rbx
cmp r14d, 0xa
mov r14d, eax
mov r8, qword [rsp + 0x40]
jae 0x180028f00
lea rcx, [0x1801ace10]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.18019ad80
ud2
mov r11d, r14d
mov ecx, r15d
shl r11, cl
lea rcx, [rbx + 1]
cmp rbx, 0x11
jae 0x180029388
mov r9, qword [rsp + 0x28]
sub r9, qword [rsp + 0x58]
lea r14, [r9 + 1]
dec r9
cmp r12, r11
setb bpl
cmp r9, r8
jbe 0x1800291a0
cmp r12, r11
mov r12, qword [rsp + 0x40]
jb 0x1800291de
mov rdi, r9
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x28], rcx
mov r9, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xb8]
lea r14, [r9 + rbp]
add r14, qword [rsp + 0x68]
add r14, qword [rsp + 0x90]
mov r15, r14
sub r15, qword [rsp + 0x58]
sub r15, rdx
sub r15, rsi
lea r13, [rsi + r11]
mov rcx, qword [rsp + 0xa0]
add rcx, r13
add rcx, qword [rsp + 0x98]
add rcx, qword [rsp + 0x70]
mov r8, qword [rsp + 0xa8]
sub r8, qword [rsp + 0x78]
imul r10, r8
add r10, rcx
sub r10, rbp
sub r10, r9
sub r10, qword [rsp + 0x68]
sub r14, qword [rsp + 0xb0]
sub r14, r13
sub r14, rdx
add r14, 2
nop word cs:[rax + rax]
lea r8, [rdx + r13]
mov rbp, rdi
cmp r8, rdi
jb 0x180029059
lea r9, [rdx + r10]
cmp r15, r9
jb 0x1800291cc
dec al
mov byte [r12 + rbx], al
sub r14, r11
mov r9, rbp
setb bpl
add rsi, r11
cmp r8, r9
jae 0x18002907f
sub r15, r11
add r10, r11
add r13, r11
test bpl, bpl
je 0x180029040
add rdx, rsi
jmp 0x1800291d1
inc rbx
mov r8d, 1
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x28]
nop word [rax + rax]
cmp rbx, 0x10
ja 0x180029290
mov rax, r8
add rsi, rsi
lea rdx, [rsi + rsi*4]
mov rsi, rdx
and rsi, rdi
lea rcx, [r8 + r8]
lea r8, [rcx + rcx*4]
mov r14, r11
add r14, r11
lea r11, [r14 + r14*4]
mov ecx, r15d
shr rdx, cl
lea ecx, [rdx + 0x30]
mov byte [r12 + rbx], cl
inc rbx
mov r9, r11
sub r9, rsi
jbe 0x1800290a0
sub r13, qword [rsp + 0x58]
imul r13, r8
lea rcx, [r8 + r13]
mov r15, qword [rsp + 0x50]
cmp r9, r15
setb dil
jb 0x18002921c
sub r13, r8
mov r8, r13
sub r8, rsi
jbe 0x18002921c
add dl, 0x2f
mov r9, r15
sub r9, r13
lea r14, [r14 + r14*4]
sub r14, r15
sub r14, rsi
nop word cs:[rax + rax]
lea r10, [rsi + r15]
cmp r10, r13
jb 0x180029146
lea rdi, [r9 + rsi]
cmp r8, rdi
jb 0x18002921a
mov byte [r12 + rbx - 1], dl
sub r14, r15
setb dil
cmp r10, r13
jae 0x18002921f
dec dl
sub r8, r15
mov rsi, r10
test dil, dil
je 0x180029130
jmp 0x18002921f
cmp r13d, 0x5f5e100
mov r12, qword [rsp + 0x28]
jae 0x1800291a7
cmp r13d, 0x989680
setb cl
mov edx, 0xf4240
mov r14d, 0x989680
cmovb r14d, edx
xor cl, 7
mov edx, dword [rsp + 0x30]
jmp 0x180028ea9
mov r12, qword [rsp + 0x40]
jmp 0x1800291de
cmp r13d, 0x3b9aca00
setb cl
mov edx, 0x5f5e100
mov r14d, 0x3b9aca00
cmovb r14d, edx
xor cl, 9
mov edx, dword [rsp + 0x30]
jmp 0x180028ea9
add rdx, rsi
xor ebp, ebp
mov r8, rdx
mov rcx, qword [rsp + 0x28]
mov r14, qword [rsp + 0x50]
mov rax, r14
sub rax, r8
jbe 0x1800291f8
test bpl, bpl
jne 0x1800291f8
add r11, r8
sub r11, r14
jb 0x18002925a
cmp rax, r11
jae 0x18002925a
cmp r8, 2
mov rax, qword [rsp + 0x38]
jb 0x18002925f
mov rdx, qword [rsp + 0x30]
add rdx, 0xfffffffffffffffc
cmp r8, rdx
ja 0x18002925f
mov qword [rax], r12
mov qword [rax + 8], rcx
jmp 0x180029274
xor edi, edi
mov r10, rsi
mov rdx, rcx
sub rdx, r10
jbe 0x180029239
test dil, dil
jne 0x180029239
add r15, r10
sub r15, rcx
jb 0x18002925a
cmp rdx, r15
jae 0x18002925a
lea rcx, [rax*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r10
ja 0x18002925a
shl rax, 3
lea rax, [rax + rax*4]
sub r11, rax
cmp r10, r11
jbe 0x180029268
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x18002927c
mov rax, qword [rsp + 0x38]
mov qword [rax], r12
mov qword [rax + 8], rbx
mov ecx, dword [rsp + 0x4c]
mov word [rax + 0x10], cx
add rsp, 0xf8
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 ecx, 0x11
mov edx, 0x11
call fcn.18019ac00
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rax
call fcn.18019ac00
ud2
mov qword [rsp + 0xc8], 0
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0xc8]
call fcn.18019add0
ud2
lea rcx, str.assertion_failed:_d.mant___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x180029314
lea rcx, str.assertion_failed:_d.minus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x18002937c
lea rcx, str.assertion_failed:_d.plus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.18019ad80
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.18019ad80
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.18019ad80
ud2
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.18019ad80
ud2
lea rcx, str.assertion_failed:_edelta___0
lea r8, [0x1801ac4b8]
mov edx, 0x1d
call fcn.18019ad80
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x11
call fcn.18019ad00
ud2