Function at 0x4a2460
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov r14, qword [rdx]
test r14, r14
je 0x4a2d1e
mov rbp, qword [rdx + 8]
test rbp, rbp
je 0x4a2d2c
mov rsi, qword [rdx + 0x10]
test rsi, rsi
je 0x4a2d3a
add rsi, r14
jb 0x4a2d48
mov rax, r14
sub rax, rbp
jb 0x4a2d56
cmp r9, 0x10
jbe 0x4a2d64
mov r10, rcx
mov qword [rsp + 0x48], r8
mov rcx, rsi
shr rcx, 0x3d
jne 0x4a2d72
movzx edx, word [rdx + 0x18]
mov rcx, rsi
shr rcx, 0x20
mov rbx, rsi
shl rbx, 0x20
test rcx, rcx
cmovne rbx, rsi
lea ecx, [rdx - 0x20]
cmovne ecx, edx
mov rbp, rbx
shr rbp, 0x30
mov rsi, rbx
shl rsi, 0x10
test rbp, rbp
cmovne rsi, rbx
lea ebp, [rcx - 0x10]
cmovne ebp, ecx
mov rcx, rsi
shr rcx, 0x38
mov rdi, rsi
shl rdi, 8
test rcx, rcx
cmovne rdi, rsi
lea ecx, [rbp - 8]
cmovne ecx, ebp
mov rbp, rdi
shr rbp, 0x3c
mov rbx, rdi
shl rbx, 4
test rbp, rbp
cmovne rbx, rdi
lea ebp, [rcx - 4]
cmovne ebp, ecx
mov rcx, rbx
shr rcx, 0x3e
lea r12, [rbx*4]
test rcx, rcx
cmovne r12, rbx
lea ebx, [rbp - 2]
cmovne ebx, ebp
mov rcx, r12
shr rcx, 0x3f
xor ecx, 1
mov rbp, r12
shl rbp, cl
sar r12, 0x3f
not r12d
add r12d, ebx
mov qword [rsp + 0xa8], rax
mov word [rsp + 0xb0], dx
mov ecx, edx
sub cx, r12w
js 0x4a2d80
and ecx, 0x3f
mov rdi, 0xffffffffffffffff
shr rdi, cl
mov rbx, rdi
and rbx, rax
mov qword [rsp + 0xa0], rbx
lea r8, [rsp + 0xa0]
mov qword [rsp + 0x60], r8
lea rsi, [rsp + 0xa8]
mov qword [rsp + 0x68], rsi
cmp rax, rdi
ja 0x4a2c85
shl rax, cl
mov qword [rsp + 0xa8], r14
mov word [rsp + 0xb0], dx
mov rdx, rdi
and rdx, r14
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], rsi
cmp r14, rdi
ja 0x4a2c85
mov qword [rsp + 0x30], r10
shl r14, cl
mov ecx, 0xffffffa0
sub ecx, r12d
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 rdx, ecx
cmp edx, 0x51
jae 0x4a2d8e
shl rdx, 4
lea r8, [0x004e92c0]
mov r11, qword [rdx + r8]
movzx ecx, word [rdx + r8 + 0xa]
mov dword [rsp + 0x38], ecx
mov rcx, rbp
shr rcx, 0x20
mov rbx, rcx
mov qword [rsp + 0x98], rcx
mov ebp, ebp
mov r10d, r11d
shr r11, 0x20
mov rdi, r11
imul rdi, rbp
mov rsi, rdi
mov qword [rsp + 0x58], rdi
mov r15, r10
imul r15, rcx
imul rbp, r10
shr rbp, 0x20
mov edi, r15d
add rdi, rbp
mov ebp, esi
add r12w, word [rdx + r8 + 8]
add rbp, rdi
mov rcx, rax
shr rcx, 0x20
mov qword [rsp + 0x90], rcx
mov eax, eax
mov r13, r11
imul r13, rax
mov rbx, r10
imul rbx, rcx
imul rax, r10
shr rax, 0x20
mov edx, ebx
add rdx, rax
mov r8d, r13d
add r8, rdx
mov rdi, r14
shr rdi, 0x20
mov eax, r14d
mov rdx, r11
mov r14, r11
imul r14, rax
mov rsi, r10
imul rsi, rdi
imul r10, rax
shr r10, 0x20
mov eax, esi
add rax, r10
mov r11d, r14d
add r11, rax
mov rcx, rdx
imul rcx, qword [rsp + 0x98]
sub rbp, 0xffffffff80000000
shr r15, 0x20
mov r10, qword [rsp + 0x58]
shr r10, 0x20
shr rbp, 0x20
mov rax, rdx
imul rax, qword [rsp + 0x90]
mov qword [rsp + 0x28], rax
sub r8, 0xffffffff80000000
shr rbx, 0x20
mov qword [rsp + 0x80], rbx
shr r13, 0x20
mov qword [rsp + 0x88], r13
shr r8, 0x20
mov qword [rsp + 0x78], r8
mov rbx, rdx
mov qword [rsp + 0x128], rdi
imul rbx, rdi
sub r11, 0xffffffff80000000
shr rsi, 0x20
mov qword [rsp + 0x110], rsi
add rbx, rsi
shr r14, 0x20
mov qword [rsp + 0x118], rcx
lea rcx, [rcx + r15]
add rcx, r10
mov qword [rsp + 0x120], rbp
lea rsi, [rcx + rbp]
add rsi, 1
neg r12d
and r12d, 0x3f
mov rdi, rsi
mov ecx, r12d
shr rdi, cl
mov ebp, 1
shl rbp, cl
mov qword [rsp + 0x108], r14
add rbx, r14
shr r11, 0x20
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x140], rbp
lea rax, [rbp - 1]
cmp edi, 0x270f
mov qword [rsp + 0x138], r15
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x58], r10
ja 0x4a2815
cmp edi, 0x64
jae 0x4a2834
xor ecx, ecx
cmp edi, 9
seta cl
lea ebp, [rcx + rcx*8]
add ebp, 1
jmp 0x4a284c
cmp edi, 0xf4240
jae 0x4a2858
cmp edi, 0x186a0
mov ecx, 0x2710
mov ebp, 0x186a0
cmovb ebp, ecx
mov cl, 5
jmp 0x4a2849
cmp edi, 0x3e8
mov ecx, 0x64
mov ebp, 0x3e8
cmovb ebp, ecx
mov cl, 3
sbb cl, 0
mov r11d, dword [rsp + 0x38]
mov r8, qword [rsp + 0x28]
jmp 0x4a2899
cmp edi, 0x5f5e0ff
mov r11d, dword [rsp + 0x38]
mov r8, qword [rsp + 0x28]
ja 0x4a2881
cmp edi, 0x989680
mov ecx, 0xf4240
mov ebp, 0x989680
cmovb ebp, ecx
mov cl, 7
jmp 0x4a2896
cmp edi, 0x3b9aca00
mov ecx, 0x5f5e100
mov ebp, 0x3b9aca00
cmovb ebp, ecx
mov cl, 9
sbb cl, 0
add rbx, qword [rsp + 0x70]
mov qword [rsp + 0x50], rbx
mov r15, rsi
and r15, rax
mov rdx, rsi
movzx r13d, cl
mov ecx, r13d
sub ecx, r11d
add ecx, 1
mov dword [rsp + 0x44], ecx
mov r10d, 1
sub r10, r8
sub r10, qword [rsp + 0x80]
sub r10, qword [rsp + 0x88]
sub r10, qword [rsp + 0x78]
mov rbx, rsi
add r10, rsi
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x28], rax
and r10, rax
xor esi, esi
xor edx, edx
mov eax, edi
div ebp
mov r8, r9
cmp rsi, r9
jae 0x4a2c6b
mov edi, edx
mov r14d, edx
mov r11, r12
mov ecx, r12d
shl r14, cl
add al, 0x30
mov rcx, qword [rsp + 0x48]
mov byte [rcx + rsi], al
lea r9, [r14 + r15]
mov r12, qword [rsp + 0x38]
sub r12, r9
ja 0x4a295f
cmp rsi, r13
jae 0x4a2a95
add rsi, 1
mov eax, ebp
mov ecx, 0xcccccccd
imul rax, rcx
shr rax, 0x23
cmp ebp, 0xa
mov ebp, eax
mov r9, r8
mov r12, r11
jae 0x4a28f0
lea rcx, str.attempt_to_divide_by_zero
call fcn.00488de0
mov r13d, ebp
mov ecx, r11d
shl r13, cl
mov r11, rbx
sub r11, qword [rsp + 0x50]
lea rcx, [r11 + 1]
mov qword [rsp + 0x28], rcx
add r11, 0xffffffffffffffff
cmp r12, r13
setb r8b
cmp r11, r9
jbe 0x4a2b96
cmp r12, r13
mov r10, qword [rsp + 0x30]
jb 0x4a2b91
lea rdi, [r15 + r13]
mov rdx, qword [rsp + 0x110]
add rdx, rdi
add rdx, qword [rsp + 0x108]
add rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x128]
sub rbp, rcx
mov r8, qword [rsp + 0x130]
imul rbp, r8
add rbp, rdx
mov rdx, qword [rsp + 0x138]
sub rbp, rdx
mov rbx, qword [rsp + 0x58]
sub rbp, rbx
add rdx, rbx
mov rbx, qword [rsp + 0x120]
sub rbp, rbx
add rdx, rbx
sub rcx, qword [rsp + 0x90]
imul rcx, r8
lea rbx, [rcx + rdx]
add rbx, 2
sub rbx, qword [rsp + 0x80]
sub rbx, qword [rsp + 0x88]
sub rbx, qword [rsp + 0x78]
add rdi, r14
sub rbx, rdi
add rdx, qword [rsp + 0x118]
sub rdx, qword [rsp + 0x50]
add rbp, r14
add r14, r15
sub rdx, r14
mov r14, qword [rsp + 0x28]
nop word [rax + rax]
lea rdi, [r9 + r13]
cmp rdi, r11
jb 0x4a2a62
cmp rdx, rbp
jb 0x4a2ba5
add al, 0xff
mov rcx, qword [rsp + 0x48]
mov byte [rcx + rsi], al
mov rcx, rbx
sub rcx, r13
setb r8b
cmp rdi, r11
jae 0x4a2bab
add rbp, r13
sub rdx, r13
mov r9, rdi
cmp rbx, r13
mov rbx, rcx
jae 0x4a2a50
jmp 0x4a2bab
add rsi, 1
mov eax, 1
mov r14, rbx
mov r12, qword [rsp + 0x140]
mov r9, qword [rsp + 0x28]
nop
cmp rsi, r8
jae 0x4a2c74
mov r13, rax
add r15, r15
lea rdx, [r15 + r15*4]
mov rbp, r10
add rbp, r10
lea r10, [rbp*4]
add r10, rbp
lea rax, [rax + rax]
lea rax, [rax + rax*4]
mov r15, rdx
and r15, r9
mov ecx, r11d
shr rdx, cl
mov ebx, edx
add bl, 0x30
mov rdi, qword [rsp + 0x48]
mov byte [rdi + rsi], bl
add rsi, 1
mov rbx, r10
sub rbx, r15
jbe 0x4a2ab0
cmp rsi, r8
ja 0x4a2da2
sub r14, qword [rsp + 0x50]
imul r14, rax
lea r8, [r14 + rax]
cmp rbx, r12
setb r11b
jb 0x4a2bec
sub r14, rax
mov rbx, r14
sub rbx, r15
jbe 0x4a2bec
add dl, 0x2f
mov r9, r12
sub r9, r14
lea rcx, [rbp*4]
add rcx, rbp
lea rax, [r12 + r15]
sub rcx, rax
nop
lea rbp, [r15 + r12]
cmp rbp, r14
jb 0x4a2b66
lea rax, [r9 + r15]
cmp rbx, rax
jb 0x4a2be9
mov rax, qword [rsp + 0x48]
mov byte [rax + rsi - 1], dl
mov rax, rcx
sub rax, r12
setb r11b
cmp rbp, r14
jae 0x4a2bef
add dl, 0xff
sub rbx, r12
mov r15, rbp
cmp rcx, r12
mov rcx, rax
jae 0x4a2b50
jmp 0x4a2bef
mov rdi, r9
jmp 0x4a2b9e
mov rdi, r9
mov r10, qword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
jmp 0x4a2bab
xor r8d, r8d
mov rdi, r9
mov rax, r14
sub rax, rdi
jbe 0x4a2bc5
test r8b, r8b
jne 0x4a2bc5
add r13, rdi
sub r13, r14
jb 0x4a2be5
cmp rax, r13
jae 0x4a2be5
xor eax, eax
cmp rdi, 2
jb 0x4a2c51
mov rcx, qword [rsp + 0x38]
add rcx, 0xfffffffffffffffc
cmp rdi, rcx
ja 0x4a2c51
add rsi, 1
jmp 0x4a2c3f
xor eax, eax
jmp 0x4a2c51
xor r11d, r11d
mov rbp, r15
mov rax, r8
sub rax, rbp
jbe 0x4a2c09
test r11b, r11b
jne 0x4a2c09
add r12, rbp
sub r12, r8
jb 0x4a2c31
cmp rax, r12
jae 0x4a2c31
lea rax, [r13*4]
lea rax, [rax + rax*4]
cmp rax, rbp
ja 0x4a2c31
shl r13, 3
lea rax, [r13*4]
add rax, r13
sub r10, rax
cmp rbp, r10
jbe 0x4a2c3a
xor eax, eax
mov r10, qword [rsp + 0x30]
jmp 0x4a2c51
mov r10, qword [rsp + 0x30]
mov qword [r10 + 8], rsi
mov eax, dword [rsp + 0x44]
mov word [r10 + 0x10], ax
mov eax, 1
mov qword [r10], rax
mov rax, r10
add rsp, 0x148
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
jmp 0x4a2c7b
lea rcx, str.libcore_num_flt2dec_strategygrisu.rs
mov rdx, rsi
call fcn.00488e40
lea rax, [rsp + 0x60]
mov qword [rsp + 0xb8], rax
lea rax, [0x004930d0]
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0x68]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
lea rax, str.assertion_failed:___left__right___n__left:_____n_right:___
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], 3
lea rax, [0x004d2b88]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], 2
lea rax, [rsp + 0xb8]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], 2
lea rdx, [0x004d2c08]
lea rcx, [rsp + 0xd8]
call fcn.00488ed0
lea rcx, str.assertion_failed:_d.mant___0libcore_num_flt2dec_strategygrisu.rs
call fcn.00488de0
lea rcx, str.assertion_failed:_d.minus___0
call fcn.00488de0
lea rcx, str.assertion_failed:_d.plus___0
call fcn.00488de0
lea rcx, str.assertion_failed:_d.mant.checked_add_d.plus_.is_some__
call fcn.00488de0
lea rcx, str.assertion_failed:_d.mant.checked_sub_d.minus_.is_some__
call fcn.00488de0
lea rcx, str.assertion_failed:_buf.len_____MAX_SIG_DIGITS
call fcn.00488de0
lea rcx, str.assertion_failed:_d.mant__d.plus____1____61_
call fcn.00488de0
lea rcx, str.assertion_failed:_edelta___0libcore_numdiy_float.rs
call fcn.00488de0
lea rcx, str.libcore_num_flt2dec_strategygrisu.rs
mov r8d, 0x51
call fcn.00488e40
mov rcx, rsi
mov rdx, r8
call fcn.0048b450