Function at 0x140018880
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov qword [rsp + 0x48], r9
test rdx, rdx
je 0x140018d63
mov rax, rdx
shr rax, 0x3d
jne 0x140018d7d
mov r9, rcx
mov rax, rdx
shr rax, 0x20
mov rcx, rdx
shl rcx, 0x20
lea r10d, [r8 - 0x20]
test rax, rax
cmovne rcx, rdx
cmovne r10d, r8d
mov rax, rcx
shr rax, 0x30
mov rdx, rcx
shl rdx, 0x10
lea r8d, [r10 - 0x10]
test rax, rax
cmovne rdx, rcx
cmovne r8d, r10d
mov rax, rdx
shr rax, 0x38
mov rcx, rdx
shl rcx, 8
lea r10d, [r8 - 8]
test rax, rax
cmovne rcx, rdx
cmovne r10d, r8d
mov rax, rcx
shr rax, 0x3c
mov rdx, rcx
shl rdx, 4
lea r11d, [r10 - 4]
test rax, rax
cmovne rdx, rcx
cmovne r11d, r10d
mov rcx, rdx
shr rcx, 0x3e
lea rax, [rdx*4]
lea r8d, [r11 - 2]
test rcx, rcx
cmovne rax, rdx
cmovne r8d, r11d
xor ecx, ecx
test rax, rax
setns cl
sub r8d, ecx
mov ecx, 0xffffffa0
sub ecx, r8d
movsx ecx, cx
lea ecx, [rcx + rcx*4]
shl ecx, 4
add ecx, 0x153b0
movsxd rcx, ecx
imul rcx, rcx, 0x7b4dc993
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2a
add ecx, edx
movsxd rsi, ecx
cmp esi, 0x51
jae 0x140018d4d
test rax, rax
setns cl
shl rax, cl
shl rsi, 4
lea r11, [0x14014e800]
mov rdx, qword [rsi + r11]
mov rcx, rax
shr rcx, 0x20
mov eax, eax
mov r10d, edx
shr rdx, 0x20
mov rdi, rdx
imul rdi, rcx
imul rdx, rax
imul rcx, r10
imul r10, rax
shr r10, 0x20
mov ebx, ecx
add rbx, r10
mov eax, edx
add rax, rbx
sub rax, 0xffffffff80000000
shr rcx, 0x20
add rcx, rdi
shr rdx, 0x20
add rdx, rcx
shr rax, 0x20
add rax, rdx
add r8w, word [rsi + r11 + 8]
mov edx, 0xffffffc0
sub edx, r8d
mov r10d, edx
and r10d, 0x3f
mov rdi, rax
mov ecx, r10d
shr rdi, cl
mov ebx, 1
shl rbx, cl
lea r13, [rbx - 1]
mov r12, rax
and r12, r13
je 0x140018a4f
movzx r14d, word [rsp + 0xd8]
movzx ecx, word [rsi + r11 + 0xa]
cmp edi, 0x2710
jae 0x140018a5b
cmp edi, 0x64
jae 0x140018a85
xor r8d, r8d
cmp edi, 0xa
setae r8b
lea ebp, [r8 + r8*8]
inc ebp
mov esi, r14d
jmp 0x140018aee
mov qword [r9], 0
jmp 0x140018d0c
cmp edi, 0xf4240
jae 0x140018aa7
cmp edi, 0x186a0
setb r8b
mov r11d, 0x2710
mov ebp, 0x186a0
cmovb ebp, r11d
xor r8b, 5
mov esi, r14d
jmp 0x140018aee
cmp edi, 0x3e8
setb r8b
mov r11d, 0x64
mov ebp, 0x3e8
cmovb ebp, r11d
xor r8b, 3
mov esi, r14d
jmp 0x140018aee
cmp edi, 0x5f5e100
mov esi, r14d
jae 0x140018ad1
cmp edi, 0x989680
setb r8b
mov r11d, 0xf4240
mov ebp, 0x989680
cmovb ebp, r11d
xor r8b, 7
jmp 0x140018aee
cmp edi, 0x3b9aca00
setb r8b
mov r11d, 0x5f5e100
mov ebp, 0x3b9aca00
cmovb ebp, r11d
xor r8b, 9
mov r14, qword [rsp + 0xd0]
movzx r15d, r8b
mov r11d, r15d
sub r11d, ecx
inc r11d
cmp r11w, si
jle 0x140018bbf
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], r9
movzx r9d, dx
movsx rax, r11w
mov ecx, r11d
sub ecx, esi
movsx rdx, si
sub rax, rdx
cmp rax, r14
movsx rsi, cx
cmovae rsi, r14
neg r15
mov r8, r14
neg r8
mov r14d, 1
mov r13d, 0xcccccccd
lea rbx, [r8 + r14]
mov eax, edi
xor edx, edx
div ebp
cmp rbx, 1
je 0x140018d1d
mov ecx, edx
mov eax, edi
xor edx, edx
div ebp
add al, 0x30
mov rdx, qword [rsp + 0x48]
mov byte [rdx + r14 - 1], al
cmp rsi, r14
je 0x140018c0a
lea rax, [r15 + r14]
cmp rax, 1
je 0x140018c58
mov eax, ebp
imul rax, r13
shr rax, 0x23
inc r14
mov edi, ecx
cmp ebp, 0xa
mov ebp, eax
jae 0x140018b50
lea rcx, [0x14014ee30]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.1401475d0
ud2
movabs rcx, 0xcccccccccccccccd
mul rcx
shr rdx, 3
mov eax, ebp
mov ecx, r10d
shl rax, cl
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x28], si
mov word [rsp + 0x20], r11w
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov rcx, r9
mov rdx, qword [rsp + 0x48]
mov r8, r14
xor r9d, r9d
call fcn.140018da0
jmp 0x140018d0c
mov eax, ecx
mov ecx, r10d
shl rax, cl
add rax, r12
mov edx, ebp
shl rdx, cl
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x40], rcx
movzx ecx, word [rsp + 0xd8]
mov word [rsp + 0x28], cx
mov word [rsp + 0x20], r11w
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0xd0]
jmp 0x140018cf6
dec r9d
and r9d, 0x3f
mov eax, 1
mov rdi, qword [rsp + 0x60]
mov r8, qword [rsp + 0xd0]
nop word cs:[rax + rax]
mov rdx, rax
mov ecx, r9d
shr rdx, cl
test rdx, rdx
jne 0x140018d00
cmp r14, r8
jae 0x140018d36
add r12, r12
lea rdx, [r12 + r12*4]
mov r12, rdx
and r12, rdi
add rax, rax
lea rax, [rax + rax*4]
mov ecx, r10d
shr rdx, cl
add dl, 0x30
mov rcx, qword [rsp + 0x48]
mov byte [rcx + r14], dl
inc r14
cmp rsi, r14
jne 0x140018c80
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
movzx eax, word [rsp + 0xd8]
mov word [rsp + 0x28], ax
mov word [rsp + 0x20], r11w
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r9, rsi
call fcn.140018da0
jmp 0x140018d0c
mov rax, qword [rsp + 0x50]
mov qword [rax], 0
add rsp, 0x68
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 rcx, qword [rsp + 0xd0]
mov rdx, rcx
call fcn.140147450
ud2
lea rax, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, r14
mov rdx, r8
mov r8, rax
call fcn.140147450
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rsi
call fcn.140147450
ud2
lea rcx, [0x14014e567]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.1401475d0
ud2
lea rcx, str.assertion_failed:_d.mant____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x24
call fcn.1401475d0
ud2