Function at 0x140160770
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
test rdx, rdx
je 0x140160c16
mov rax, rdx
shr rax, 0x3d
jne 0x140160c2e
mov r12, 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 r8, rcx
shl r8, 4
lea r11d, [r10 - 4]
test rax, rax
cmovne r8, rcx
cmovne r11d, r10d
mov rcx, r8
shr rcx, 0x3e
lea rax, [r8*4]
lea edx, [r11 - 2]
test rcx, rcx
cmovne rax, r8
cmovne edx, r11d
xor ecx, ecx
test rax, rax
setns cl
sub edx, ecx
mov ecx, 0xffffffa0
sub ecx, edx
movsx ecx, cx
lea ecx, [rcx + rcx*4]
shl ecx, 4
add ecx, 0x153b0
movsxd rcx, ecx
imul rcx, rcx, 0x7b4dc993
mov r8, rcx
shr r8, 0x3f
sar rcx, 0x2a
add ecx, r8d
movsxd rdi, ecx
cmp edi, 0x51
jae 0x140160c02
test rax, rax
setns cl
shl rax, cl
shl rdi, 4
lea r14, [0x1402b3880]
mov r10, qword [rdi + r14]
mov rcx, rax
shr rcx, 0x20
mov eax, eax
mov r11d, r10d
shr r10, 0x20
mov rsi, r10
imul rsi, rcx
imul r10, rax
imul rcx, r11
imul r11, rax
shr r11, 0x20
mov ebx, ecx
add rbx, r11
mov eax, r10d
add rax, rbx
sub rax, 0xffffffff80000000
shr rcx, 0x20
add rcx, rsi
shr r10, 0x20
add r10, rcx
shr rax, 0x20
add dx, word [rdi + r14 + 8]
add rax, r10
mov ecx, 0xffffffc0
sub ecx, edx
movzx r11d, cx
mov r10d, r11d
and r10d, 0x3f
mov rdx, rax
mov ecx, r10d
shr rdx, cl
mov esi, 1
shl rsi, cl
lea r8, [rsi - 1]
mov r15, rax
and r15, r8
je 0x140160946
movzx ebx, word [rsp + 0xd8]
movzx ecx, word [rdi + r14 + 0xa]
cmp edx, 0x2710
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], r8
jae 0x140160953
cmp edx, 0x64
jae 0x14016097c
xor edi, edi
cmp edx, 0xa
setae dil
lea esi, [rdi + rdi*8]
inc esi
jmp 0x1401609e1
mov qword [r12], 0
jmp 0x140160bc5
cmp edx, 0xf4240
jae 0x14016099d
cmp edx, 0x186a0
setb dil
mov ebp, ebx
mov ebx, 0x2710
mov esi, 0x186a0
cmovb esi, ebx
mov ebx, ebp
xor dil, 5
jmp 0x1401609e1
cmp edx, 0x3e8
setb dil
mov ebp, ebx
mov ebx, 0x64
mov esi, 0x3e8
cmovb esi, ebx
mov ebx, ebp
xor dil, 3
jmp 0x1401609e1
mov ebp, ebx
cmp edx, 0x5f5e100
jae 0x1401609c4
cmp edx, 0x989680
setb dil
mov ebx, 0xf4240
mov esi, 0x989680
cmovb esi, ebx
xor dil, 7
jmp 0x1401609df
cmp edx, 0x3b9aca00
setb dil
mov ebx, 0x5f5e100
mov esi, 0x3b9aca00
cmovb esi, ebx
xor dil, 9
mov ebx, ebp
mov r8, qword [rsp + 0xd0]
movzx ebp, dil
mov r13d, ebp
sub r13d, ecx
inc r13d
cmp r13w, bx
jle 0x140160a8e
movsx rax, r13w
mov ecx, r13d
sub ecx, ebx
movsx rdi, bx
sub rax, rdi
cmp rax, r8
movsx rdi, cx
cmovae rdi, r8
neg rbp
mov rcx, r8
neg rcx
mov ebx, 1
mov r14d, 0xcccccccd
nop
lea r12, [rcx + rbx]
mov eax, edx
xor edx, edx
div esi
cmp r12, 1
je 0x140160bd6
add al, 0x30
mov byte [r9 + rbx - 1], al
cmp rdi, rbx
je 0x140160adb
lea rax, [rbx + rbp]
cmp rax, 1
je 0x140160b27
mov eax, esi
imul rax, r14
shr rax, 0x23
inc rbx
cmp esi, 0xa
mov esi, eax
jae 0x140160a30
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.14015d2f0
movabs rcx, 0xcccccccccccccccd
mul rcx
shr rdx, 3
mov eax, esi
mov ecx, r10d
shl rax, cl
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x40], rcx
mov word [rsp + 0x28], bx
mov word [rsp + 0x20], r13w
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x50]
mov rdx, r9
xor r9d, r9d
call fcn.140160c50
jmp 0x140160bc5
mov eax, edx
mov ecx, r10d
shl rax, cl
add rax, r15
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, r9
mov r8, qword [rsp + 0xd0]
jmp 0x140160baf
dec r11d
and r11d, 0x3f
mov eax, 1
mov r8, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0x60]
mov rdx, rax
mov ecx, r11d
shr rdx, cl
test rdx, rdx
jne 0x140160bb9
cmp rbx, r8
jae 0x140160bed
add r15, r15
lea rdx, [r15 + r15*4]
mov r15, rdx
and r15, rsi
add rax, rax
lea rax, [rax + rax*4]
mov ecx, r10d
shr rdx, cl
add dl, 0x30
mov byte [r9 + rbx], dl
inc rbx
cmp rdi, rbx
jne 0x140160b40
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
movzx eax, word [rsp + 0xd8]
mov word [rsp + 0x28], ax
mov word [rsp + 0x20], r13w
mov rcx, qword [rsp + 0x50]
mov rdx, r9
mov r9, rdi
call fcn.140160c50
jmp 0x140160bc5
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.14015c3d0
lea rax, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, rbx
mov rdx, r8
mov r8, rax
call fcn.14015c3d0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rdi
call fcn.14015c3d0
lea rcx, [0x1402b35ff]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.14015d2f0
lea rcx, str.assertion_failed:_d.mant____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x24
call fcn.14015d2f0
int3