Function at 0x4a2e00
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rax, qword [rdx]
test rax, rax
je 0x4a3352
mov r14, rcx
mov rcx, rax
shr rcx, 0x3d
jne 0x4a3360
mov r12, r9
test r9, r9
je 0x4a336e
mov rcx, rax
shr rcx, 0x20
mov rbp, rax
shl rbp, 0x20
movzx edx, word [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 rcx, rax
shr rcx, 0x38
mov rbp, rax
shl rbp, 8
test rcx, rcx
cmovne rbp, rax
lea eax, [rdx - 8]
cmovne eax, edx
mov rcx, rbp
shr rcx, 0x3c
mov rdx, rbp
shl rdx, 4
test rcx, rcx
cmovne rdx, rbp
lea ecx, [rax - 4]
cmovne ecx, eax
mov rax, rdx
shr rax, 0x3e
lea rbp, [rdx*4]
test rax, rax
cmovne rbp, rdx
lea eax, [rcx - 2]
cmovne eax, ecx
mov rcx, rbp
shr rcx, 0x3f
xor ecx, 1
mov rsi, rbp
shl rsi, cl
sar rbp, 0x3f
not ebp
add ebp, eax
mov eax, 0xffffffa0
sub eax, ebp
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 rdx, eax
cmp edx, 0x51
jae 0x4a337c
mov r15, r8
movzx r13d, word [rsp + 0xb0]
shl rdx, 4
lea r9, [0x004e92c0]
mov rdi, qword [rdx + r9]
movzx r8d, word [rdx + r9 + 0xa]
mov rbx, rsi
shr rbx, 0x20
mov esi, esi
mov eax, edi
shr rdi, 0x20
mov r10, rdi
imul r10, rbx
imul rdi, rsi
imul rbx, rax
imul rax, rsi
shr rax, 0x20
mov ecx, ebx
add rcx, rax
mov r11d, edi
add r11, rcx
sub r11, 0xffffffff80000000
shr rbx, 0x20
add rbx, r10
shr rdi, 0x20
add rdi, rbx
shr r11, 0x20
add r11, rdi
add bp, word [rdx + r9 + 8]
mov eax, 0xffffffc0
sub eax, ebp
movsx rax, ax
mov r9d, eax
and r9d, 0x3f
mov r10, r11
mov ecx, r9d
shr r10, cl
mov esi, 1
shl rsi, cl
cmp r10d, 0x270f
mov qword [rsp + 0x40], rax
ja 0x4a2fcd
cmp r10d, 0x64
jae 0x4a2fee
xor ecx, ecx
cmp r10d, 9
seta cl
lea ebp, [rcx + rcx*8]
add ebp, 1
jmp 0x4a3040
cmp r10d, 0xf4240
jae 0x4a3006
cmp r10d, 0x186a0
mov eax, 0x2710
mov ebp, 0x186a0
cmovb ebp, eax
mov cl, 5
jmp 0x4a303d
cmp r10d, 0x3e8
mov eax, 0x64
mov ebp, 0x3e8
cmovb ebp, eax
mov cl, 3
jmp 0x4a303d
cmp r10d, 0x5f5e0ff
ja 0x4a3027
cmp r10d, 0x989680
mov eax, 0xf4240
mov ebp, 0x989680
cmovb ebp, eax
mov cl, 7
jmp 0x4a303d
cmp r10d, 0x3b9aca00
mov eax, 0x5f5e100
mov ebp, 0x3b9aca00
cmovb ebp, eax
mov cl, 9
sbb cl, 0
movzx ecx, cl
mov ebx, ecx
sub ebx, r8d
mov edi, ebx
add edi, 1
cmp di, r13w
jle 0x4a30f3
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x38], rsi
lea r14, [rsi - 1]
and r11, r14
movsx rax, di
mov dword [rsp + 0x24], edi
mov edx, edi
sub edx, r13d
movsx rbx, r13w
sub rax, rbx
cmp rax, r12
movsx r13, dx
cmovae r13, r12
mov ebx, 1
mov r8d, 0xcccccccd
nop word [rax + rax]
lea rdi, [rbx - 1]
xor edx, edx
mov eax, r10d
div ebp
cmp rdi, r12
jae 0x4a3332
mov r10d, edx
add al, 0x30
mov byte [r15 + rbx - 1], al
cmp r13, rbx
je 0x4a318f
cmp rdi, rcx
jae 0x4a3201
mov eax, ebp
imul rax, r8
shr rax, 0x23
add rbx, 1
cmp ebp, 0xa
mov ebp, eax
jae 0x4a30a0
lea rcx, str.attempt_to_divide_by_zero
call fcn.00488de0
movabs rdx, 0xcccccccccccccccd
mov ebp, ebp
mov ecx, r9d
shl rbp, cl
mov rax, r11
mul rdx
xor eax, eax
mov rcx, rbp
sub rcx, rsi
jbe 0x4a331b
cmp rcx, rsi
jbe 0x4a331b
shr rdx, 3
mov rax, rbp
sub rax, rdx
cmp rax, rdx
jbe 0x4a3148
lea rax, [rdx + rdx]
mov rcx, rbp
sub rcx, rax
lea rax, [rsi + rsi]
cmp rcx, rax
jae 0x4a32c2
sub rdx, rsi
jbe 0x4a32b7
sub rbp, rdx
cmp rbp, rdx
ja 0x4a32b7
xor esi, esi
xor r8d, r8d
mov rcx, r15
mov rdx, r12
call fcn.0049fb10
test al, 1
je 0x4a330d
lea edi, [rbx + 2]
cmp di, r13w
jle 0x4a330b
mov byte [r15], dl
mov esi, 1
jmp 0x4a330d
mov edx, r10d
mov ecx, r9d
shl rdx, cl
mov ebp, ebp
shl rbp, cl
xor eax, eax
mov rcx, rbp
mov rbx, qword [rsp + 0x38]
sub rcx, rbx
jbe 0x4a32bb
cmp rcx, rbx
mov r14, qword [rsp + 0x28]
mov esi, dword [rsp + 0x24]
jbe 0x4a331b
add rdx, r11
mov rax, rbp
sub rax, rdx
cmp rax, rdx
jbe 0x4a31e7
lea rax, [rdx + rdx]
mov rcx, rbp
sub rcx, rax
lea rax, [rbx + rbx]
cmp rcx, rax
jae 0x4a3300
sub rdx, rbx
jbe 0x4a32b7
sub rbp, rdx
cmp rbp, rdx
ja 0x4a32b7
jmp 0x4a32cc
mov rcx, qword [rsp + 0x40]
add ecx, 0xffffffff
mov ebp, 1
mov edi, 1
shl rdi, cl
xor eax, eax
nop dword [rax + rax]
cmp rbp, rdi
jae 0x4a32bb
cmp rbx, r12
jae 0x4a333e
mov rdx, rbp
add r11, r11
lea rsi, [r11 + r11*4]
mov rcx, rbp
add rcx, rbp
lea rbp, [rcx + rcx*4]
mov r11, rsi
and r11, r14
mov ecx, r9d
shr rsi, cl
add sil, 0x30
mov byte [r15 + rbx], sil
add rbx, 1
cmp r13, rbx
jne 0x4a3220
xor eax, eax
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
sub rcx, rbp
mov r14, qword [rsp + 0x28]
jbe 0x4a331b
cmp rcx, rbp
mov esi, dword [rsp + 0x24]
jbe 0x4a331b
mov rax, rbx
sub rax, r11
cmp rax, r11
jbe 0x4a32aa
lea rax, [r11 + r11]
mov rcx, rbx
sub rcx, rax
shl rdx, 2
lea rax, [rdx + rdx*4]
cmp rcx, rax
jae 0x4a3300
sub r11, rbp
jbe 0x4a32b7
sub rbx, r11
cmp rbx, r11
jbe 0x4a32cc
xor eax, eax
jmp 0x4a331b
mov r14, qword [rsp + 0x28]
jmp 0x4a331b
mov qword [r14 + 8], 0
jmp 0x4a3311
mov rcx, r15
mov rdx, r12
mov r8, r13
call fcn.0049fb10
test al, 1
je 0x4a3300
mov rax, qword [rsp + 0x30]
lea esi, [rax + 2]
movzx eax, word [rsp + 0xb0]
cmp si, ax
jle 0x4a3300
cmp r13, r12
jae 0x4a3300
mov byte [r15 + r13], dl
add r13, 1
mov qword [r14 + 8], r13
mov word [r14 + 0x10], si
jmp 0x4a3316
xor esi, esi
mov qword [r14 + 8], rsi
mov word [r14 + 0x10], di
mov eax, 1
mov qword [r14], rax
mov rax, r14
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.libcore_num_flt2dec_strategygrisu.rs
mov rdx, rdi
jmp 0x4a3348
lea rcx, str.libcore_num_flt2dec_strategygrisu.rs
mov rdx, rbx
mov r8, r12
call fcn.00488e40
lea rcx, str.assertion_failed:_d.mant___0libcore_num_flt2dec_strategygrisu.rs
call fcn.00488de0
lea rcx, str.assertion_failed:_d.mant____1____61_
call fcn.00488de0
lea rcx, str.assertion_failed:__buf.is_empty__
call fcn.00488de0
lea rcx, str.libcore_num_flt2dec_strategygrisu.rs
mov r8d, 0x51
call fcn.00488e40