Function at 0x49f8f0
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 rax, qword [rdx]
test rax, rax
je 0x49fd76
mov r14, rcx
mov rcx, rax
shr rcx, 0x3d
jne 0x49fd90
test r9, r9
je 0x49fdaa
mov rcx, rax
shr rcx, 0x20
mov rbp, rax
shl rbp, 0x20
mov edx, dword [rdx + 0x18]
test rcx, rcx
cmovne rbp, rax
lea ecx, [rdx - 0x20]
cmovne ecx, edx
mov rdx, rbp
shr rdx, 0x30
mov rax, rbp
shl rax, 0x10
test rdx, rdx
cmovne rax, rbp
lea edx, [rcx - 0x10]
cmovne edx, ecx
mov rbp, rax
shr rbp, 0x38
mov rcx, rax
shl rcx, 8
test rbp, rbp
cmovne rcx, rax
lea eax, [rdx - 8]
cmovne eax, edx
mov rdx, rcx
shr rdx, 0x3c
mov rbp, rcx
shl rbp, 4
test rdx, rdx
cmovne rbp, rcx
lea ecx, [rax - 4]
cmovne ecx, eax
mov rax, rbp
shr rax, 0x3e
lea rdx, [rbp*4]
test rax, rax
cmovne rdx, rbp
lea eax, [rcx - 2]
cmovne eax, ecx
mov rcx, rdx
not rcx
shr rcx, 0x3f
mov rsi, rdx
shl rsi, cl
sar rdx, 0x3f
not edx
add edx, eax
mov eax, 0xffffffa0
sub eax, edx
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 0x49fd63
movzx r12d, word [rsp + 0xd0]
shl rcx, 4
lea r10, [0x0091cc18]
mov rdi, qword [rcx + r10]
movzx r15d, word [rcx + r10 + 0xa]
mov rbx, rsi
shr rbx, 0x20
mov esi, esi
mov eax, edi
shr rdi, 0x20
mov r11, rdi
imul r11, rbx
imul rdi, rsi
imul rbx, rax
imul rax, rsi
shr rax, 0x20
mov ebp, ebx
add rbp, rax
mov esi, edi
add rsi, rbp
sub rsi, 0xffffffff80000000
shr rbx, 0x20
add rbx, r11
shr rdi, 0x20
add rdi, rbx
shr rsi, 0x20
add dx, word [rcx + r10 + 8]
add rsi, rdi
mov ebx, 0xffffffc0
sub ebx, edx
mov r11d, ebx
and r11d, 0x3f
mov rdx, rsi
mov ecx, r11d
shr rdx, cl
mov edi, 1
shl rdi, cl
cmp edx, 0x2710
jae 0x49faa9
cmp edx, 0x64
jae 0x49fac8
xor ecx, ecx
cmp edx, 0xa
setae cl
lea ebp, [rcx + rcx*8]
add ebp, 1
jmp 0x49fb16
cmp edx, 0xf4240
jae 0x49fadf
cmp edx, 0x186a0
mov eax, 0x2710
mov ebp, 0x186a0
cmovb ebp, eax
mov cl, 5
jmp 0x49fb13
cmp edx, 0x3e8
mov eax, 0x64
mov ebp, 0x3e8
cmovb ebp, eax
mov cl, 3
jmp 0x49fb13
cmp edx, 0x5f5e100
jae 0x49fafe
cmp edx, 0x989680
mov eax, 0xf4240
mov ebp, 0x989680
cmovb ebp, eax
mov cl, 7
jmp 0x49fb13
cmp edx, 0x3b9aca00
mov eax, 0x5f5e100
mov ebp, 0x3b9aca00
cmovb ebp, eax
mov cl, 9
sbb cl, 0
movzx ecx, cl
mov r13d, ecx
sub r13d, r15d
add r13d, 1
cmp r13w, r12w
jle 0x49fbe1
mov qword [rsp + 0x50], r14
movzx r10d, bx
mov qword [rsp + 0x60], rdi
lea r15, [rdi - 1]
and rsi, r15
movsx rax, r13w
mov ebx, r13d
sub ebx, r12d
movsx rdi, r12w
sub rax, rdi
cmp rax, r9
movsx rbx, bx
cmovae rbx, r9
neg rcx
mov qword [rsp + 0x58], r9
neg r9
mov edi, 1
mov r12d, 0xcccccccd
nop word cs:[rax + rax]
nop
lea r14, [r9 + rdi]
mov eax, edx
xor edx, edx
div ebp
cmp r14, 1
je 0x49fd39
add al, 0x30
mov byte [r8 + rdi - 1], al
cmp rbx, rdi
je 0x49fc31
lea rax, [rcx + rdi]
cmp rax, 1
je 0x49fc7d
mov eax, ebp
imul rax, r12
shr rax, 0x23
add rdi, 1
cmp ebp, 0xa
mov ebp, eax
jae 0x49fb80
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.004a3ff0
ud2
movabs rcx, 0xcccccccccccccccd
mov rax, rsi
mul rcx
shr rdx, 3
mov eax, ebp
mov ecx, r11d
shl rax, cl
mov qword [rsp + 0x40], rdi
mov word [rsp + 0x28], r12w
mov word [rsp + 0x20], r13w
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov rcx, r14
mov rdx, r8
mov r8, r9
xor r9d, r9d
call fcn.0049fdd0
mov rax, r14
jmp 0x49fd28
mov eax, edx
mov ecx, r11d
shl rax, cl
add rax, rsi
mov edx, ebp
shl rdx, cl
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x40], rcx
movzx ecx, word [rsp + 0xd0]
mov word [rsp + 0x28], cx
mov word [rsp + 0x20], r13w
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rax
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
mov rdx, r8
mov r8, qword [rsp + 0x58]
jmp 0x49fd0f
add r10d, 0xffffffff
and r10d, 0x3f
mov eax, 1
mov rbp, qword [rsp + 0x58]
movzx r9d, word [rsp + 0xd0]
nop dword [rax + rax]
mov rdx, rax
mov ecx, r10d
shr rdx, cl
test rdx, rdx
jne 0x49fd1c
cmp rdi, rbp
jae 0x49fd4f
add rsi, rsi
lea rdx, [rsi + rsi*4]
add rax, rax
lea rax, [rax + rax*4]
mov rsi, rdx
and rsi, r15
mov ecx, r11d
shr rdx, cl
add dl, 0x30
mov byte [r8 + rdi], dl
add rdi, 1
cmp rbx, rdi
jne 0x49fca0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
mov word [rsp + 0x28], r9w
mov word [rsp + 0x20], r13w
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
mov rdx, r8
mov r8, rbp
mov r9, rbx
call fcn.0049fdd0
mov rax, rsi
jmp 0x49fd28
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 + 0x58]
mov rdx, rcx
call fcn.004a40c0
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, rdi
mov rdx, rbp
call fcn.004a40c0
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
call fcn.004a40c0
ud2
lea rcx, [0x0091c9af]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.004a3ff0
ud2
lea rcx, str.assertion_failed:_d.mant____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x24
call fcn.004a3ff0
ud2
lea rcx, str.assertion_failed:__buf.is_empty__called__Option::unwrap____on_a__None__value
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x21
call fcn.004a3ff0
ud2