Function at 0x180024470
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 0x180024bb9
mov r9, qword [rdx + 8]
test r9, r9
je 0x180024bd1
mov rdi, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x180024be9
add rcx, rax
jb 0x180024c01
mov rsi, rax
sub rsi, r9
jb 0x180024c19
mov r9, rcx
shr r9, 0x3d
jne 0x180024c31
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 0x180024c49
and ecx, 0x3f
mov r15, rsi
shl r15, cl
mov rdx, r15
shr rdx, cl
mov qword [rbp + 0x50], rdx
cmp rdx, rsi
jne 0x180024ba0
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 0x180024ba0
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 0x180024b8f
mov r12, r8
mov qword [rbp + 0x90], rdi
shl rcx, 4
lea r10, [0x180070860]
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 0x18002479f
cmp ebx, 0x64
jae 0x1800247c4
xor ecx, ecx
cmp ebx, 0xa
setae cl
lea r9d, [rcx + rcx*8]
inc r9d
jmp 0x180024821
cmp ebx, 0xf4240
jae 0x1800247e1
cmp ebx, 0x186a0
setb cl
mov edx, 0x2710
mov r9d, 0x186a0
cmovb r9d, edx
xor cl, 5
jmp 0x180024821
cmp ebx, 0x3e8
setb cl
mov edx, 0x64
mov r9d, 0x3e8
cmovb r9d, edx
xor cl, 3
jmp 0x180024821
cmp ebx, 0x5f5e100
jae 0x180024806
cmp ebx, 0x989680
setb cl
mov edx, 0xf4240
mov r9d, 0x989680
cmovb r9d, edx
xor cl, 7
jmp 0x180024821
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 0x1800248e6
cmp qword [rbp + 0x78], r13
je 0x1800249d9
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 0x180024880
lea rcx, str.librarycore_src_num_flt2dec_strategygrisu.rs
call fcn.180069a10
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 0x180024abf
cmp r14, r9
jb 0x180024abf
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 0x1800249aa
lea r15, [rdx + rcx]
cmp r10, r15
jb 0x180024ab2
dec al
mov byte [r12 + r13], al
sub r8, r9
setb r15b
add rdi, r9
cmp r14, qword [rbp + 0x88]
jae 0x1800249d1
sub r10, r9
add rcx, r9
add rbx, r9
test r15b, r15b
je 0x180024990
add rdx, rdi
jmp 0x180024ab8
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 0x180024b79
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 0x180024a00
sub r14, qword [rbp + 0x40]
imul r14, r8
lea rcx, [r14 + r8]
cmp r9, r12
setb r10b
jb 0x180024aff
sub r14, r8
mov r8, r14
sub r8, rdi
jbe 0x180024aff
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 0x180024a92
lea r10, [r11 + rdi]
cmp r8, r10
jb 0x180024afc
mov byte [rbx + r13 - 1], dl
sub rsi, r12
setb r10b
cmp r9, r14
jae 0x180024b02
dec dl
sub r8, r12
mov rdi, r9
test r10b, r10b
je 0x180024a80
jmp 0x180024b02
add rdx, rdi
xor r15d, r15d
mov r12, rdx
mov r8, qword [rbp + 0x78]
mov rax, r8
sub rax, r12
jbe 0x180024ad9
test r15b, r15b
jne 0x180024ad9
add r9, r12
sub r9, r8
jb 0x180024b3d
cmp rax, r9
jae 0x180024b3d
cmp r12, 2
jb 0x180024b3d
mov rax, qword [rbp + 0x70]
add rax, 0xfffffffffffffffd
cmp r12, rax
ja 0x180024b3d
mov rax, qword [rbp + 0x90]
mov qword [rax], rsi
mov qword [rax + 8], r11
jmp 0x180024b5b
xor r10d, r10d
mov r9, rdi
mov rdx, rcx
sub rdx, r9
jbe 0x180024b1c
test r10b, r10b
jne 0x180024b1c
add r12, r9
sub r12, rcx
jb 0x180024b3d
cmp rdx, r12
jae 0x180024b3d
lea rcx, [rax*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r9
ja 0x180024b3d
shl rax, 3
lea rax, [rax + rax*4]
sub r15, rax
cmp r9, r15
jbe 0x180024b4d
mov rax, qword [rbp + 0x90]
mov qword [rax], 0
jmp 0x180024b65
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.1800697a0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
call fcn.1800697a0
mov qword [rbp - 0x58], 0
lea rcx, [rbp + 0x50]
lea rdx, [rbp + 0x20]
lea r8, [rbp - 0x58]
call fcn.180069870
lea rcx, [0x1800705df]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.180069820
lea rcx, str.assertion_failed:_d.minus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1d
call fcn.180069820
lea rcx, str.assertion_failed:_d.plus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.180069820
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.180069820
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.180069820
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.180069820
lea rcx, str.assertion_failed:_edelta___0librarycore_src_numdiy_float.rs
lea r8, [0x180070480]
mov edx, 0x1d
call fcn.180069820
int3