Function at 0x140050710
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 0x140050bd3
mov rax, rdx
shr rax, 0x3d
jne 0x140050bed
mov r14, rcx
mov rax, rdx
shr rax, 0x20
mov rcx, rdx
shl rcx, 0x20
lea r9d, [r8 - 0x20]
test rax, rax
cmovne rcx, rdx
cmovne r9d, r8d
mov rax, rcx
shr rax, 0x30
mov rdx, rcx
shl rdx, 0x10
lea r8d, [r9 - 0x10]
test rax, rax
cmovne rdx, rcx
cmovne r8d, r9d
mov rax, rdx
shr rax, 0x38
mov rcx, rdx
shl rcx, 8
lea r9d, [r8 - 8]
test rax, rax
cmovne rcx, rdx
cmovne r9d, r8d
mov rax, rcx
shr rax, 0x3c
mov r10, rcx
shl r10, 4
lea r11d, [r9 - 4]
test rax, rax
cmovne r10, rcx
cmovne r11d, r9d
mov rax, r10
shr rax, 0x3e
lea rdx, [r10*4]
lea r8d, [r11 - 2]
test rax, rax
cmovne rdx, r10
cmovne r8d, r11d
xor eax, eax
test rdx, rdx
setns al
sub r8d, eax
mov eax, 0xffffffa0
sub eax, r8d
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
cdqe
cmp eax, 0x51
jae 0x140050bbd
test rdx, rdx
setns cl
shl rdx, cl
shl rax, 4
lea rsi, [0x1403a2e38]
mov r9, qword [rax + rsi]
mov rcx, rdx
shr rcx, 0x20
mov r10d, edx
mov r11d, r9d
mov rdx, r9
shr rdx, 0x20
mov r9, rdx
imul r9, rcx
imul rdx, r10
imul rcx, r11
imul r11, r10
shr r11, 0x20
mov edi, ecx
add rdi, r11
mov r10d, edx
add r10, rdi
sub r10, 0xffffffff80000000
shr rcx, 0x20
add rcx, r9
shr rdx, 0x20
add rdx, rcx
shr r10, 0x20
add r10, rdx
add r8w, word [rax + rsi + 8]
mov edx, 0xffffffc0
sub edx, r8d
mov r11d, edx
and r11d, 0x3f
mov rbx, r10
mov ecx, r11d
shr rbx, cl
movzx r9d, word [rsp + 0xd8]
movzx eax, word [rax + rsi + 0xa]
mov edi, 1
shl rdi, cl
cmp ebx, 0x2710
jae 0x1400508cd
cmp ebx, 0x64
jae 0x1400508f2
xor ecx, ecx
cmp ebx, 0xa
setae cl
lea esi, [rcx + rcx*8]
inc esi
jmp 0x14005094f
cmp ebx, 0xf4240
jae 0x14005090f
cmp ebx, 0x186a0
setb cl
mov r8d, 0x2710
mov esi, 0x186a0
cmovb esi, r8d
xor cl, 5
jmp 0x14005094f
cmp ebx, 0x3e8
setb cl
mov r8d, 0x64
mov esi, 0x3e8
cmovb esi, r8d
xor cl, 3
jmp 0x14005094f
cmp ebx, 0x5f5e100
jae 0x140050934
cmp ebx, 0x989680
setb cl
mov r8d, 0xf4240
mov esi, 0x989680
cmovb esi, r8d
xor cl, 7
jmp 0x14005094f
cmp ebx, 0x3b9aca00
setb cl
mov r8d, 0x5f5e100
mov esi, 0x3b9aca00
cmovb esi, r8d
xor cl, 9
mov r8, qword [rsp + 0xd0]
movzx r12d, cl
mov r13d, r12d
sub r13d, eax
inc r13d
cmp r13w, r9w
jle 0x140050a2f
mov qword [rsp + 0x50], r14
movzx r14d, dx
mov qword [rsp + 0x58], rdi
lea rax, [rdi - 1]
mov qword [rsp + 0x60], rax
and r10, rax
movsx rax, r13w
mov ecx, r13d
sub ecx, r9d
movsx rdx, r9w
sub rax, rdx
cmp rax, r8
movsx rdi, cx
cmovae rdi, r8
neg r12
neg r8
mov r15d, 1
mov ebp, 0xcccccccd
nop word cs:[rax + rax]
lea r9, [r8 + r15]
mov eax, ebx
xor edx, edx
div esi
cmp r9, 1
je 0x140050b8d
mov ecx, edx
mov eax, ebx
xor edx, edx
div esi
add al, 0x30
mov rdx, qword [rsp + 0x48]
mov byte [rdx + r15 - 1], al
cmp rdi, r15
je 0x140050a7b
lea rax, [r12 + r15]
cmp rax, 1
je 0x140050ac9
mov eax, esi
imul rax, rbp
shr rax, 0x23
inc r15
mov ebx, ecx
cmp esi, 0xa
mov esi, eax
jae 0x1400509c0
lea rcx, [0x1403a3470]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.14038e950
ud2
movabs rcx, 0xcccccccccccccccd
mov rax, r10
mul rcx
shr rdx, 3
mov eax, esi
mov ecx, r11d
shl rax, cl
mov qword [rsp + 0x40], rdi
mov word [rsp + 0x28], r9w
mov word [rsp + 0x20], r13w
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov rcx, r14
mov rdx, qword [rsp + 0x48]
xor r9d, r9d
call fcn.140050c10
jmp 0x140050b7c
mov eax, ecx
mov ecx, r11d
shl rax, cl
add rax, r10
mov edx, esi
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], r13w
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 0x140050b66
dec r14d
and r14d, 0x3f
mov eax, 1
mov r8, qword [rsp + 0xd0]
mov r9, qword [rsp + 0x60]
nop word cs:[rax + rax]
mov rdx, rax
mov ecx, r14d
shr rdx, cl
test rdx, rdx
jne 0x140050b70
cmp r15, r8
jae 0x140050ba6
add r10, r10
lea rdx, [r10 + r10*4]
mov r10, rdx
and r10, r9
add rax, rax
lea rax, [rax + rax*4]
mov ecx, r11d
shr rdx, cl
add dl, 0x30
mov rcx, qword [rsp + 0x48]
mov byte [rcx + r15], dl
inc r15
cmp rdi, r15
jne 0x140050af0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r10
movzx eax, word [rsp + 0xd8]
mov word [rsp + 0x28], ax
mov word [rsp + 0x20], r13w
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r9, rdi
call fcn.140050c10
jmp 0x140050b7c
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.14038e8b0
ud2
lea rax, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, r15
mov rdx, r8
mov r8, rax
call fcn.14038e8b0
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rax
call fcn.14038e8b0
ud2
lea rcx, [0x1403a2b9f]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.14038e950
ud2
lea rcx, str.assertion_failed:_d.mant____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x24
call fcn.14038e950
ud2