Function at 0x55cd90
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 0x55d22e
mov r14, rcx
mov rcx, rax
shr rcx, 0x3d
jne 0x55d248
mov r15, r9
test r9, r9
je 0x55d262
mov rcx, rax
shr rcx, 0x20
mov r9, rax
shl r9, 0x20
mov edx, dword [rdx + 0x18]
lea r10d, [rdx - 0x20]
test rcx, rcx
cmovne r9, rax
cmovne r10d, edx
mov rax, r9
shr rax, 0x30
mov rcx, r9
shl rcx, 0x10
lea edx, [r10 - 0x10]
test rax, rax
cmovne rcx, r9
cmovne edx, r10d
mov rax, rcx
shr rax, 0x38
mov r9, rcx
shl r9, 8
lea r10d, [rdx - 8]
test rax, rax
cmovne r9, rcx
cmovne r10d, edx
mov rax, r9
shr rax, 0x3c
mov rcx, r9
shl rcx, 4
lea r11d, [r10 - 4]
test rax, rax
cmovne rcx, r9
cmovne r11d, r10d
mov rax, rcx
shr rax, 0x3e
lea r10, [rcx*4]
lea edx, [r11 - 2]
test rax, rax
cmovne r10, rcx
cmovne edx, r11d
xor eax, eax
test r10, r10
setns al
sub 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
cdqe
cmp eax, 0x51
jae 0x55d218
test r10, r10
setns cl
shl r10, cl
shl rax, 4
lea rdi, [0x0069d370]
mov r9, qword [rax + rdi]
mov rcx, r10
shr rcx, 0x20
mov r10d, r10d
mov r11d, r9d
shr r9, 0x20
mov rsi, r9
imul rsi, rcx
imul r9, r10
imul rcx, r11
imul r11, r10
shr r11, 0x20
mov ebx, ecx
add rbx, r11
mov r10d, r9d
add r10, rbx
sub r10, 0xffffffff80000000
shr rcx, 0x20
add rcx, rsi
shr r9, 0x20
add r9, rcx
shr r10, 0x20
add r10, r9
add dx, word [rax + rdi + 8]
mov esi, 0xffffffc0
sub esi, edx
mov r11d, esi
and r11d, 0x3f
mov rdx, r10
mov ecx, r11d
shr rdx, cl
movzx ebx, word [rsp + 0xd0]
movzx eax, word [rax + rdi + 0xa]
mov edi, 1
shl rdi, cl
cmp edx, 0x2710
jae 0x55cf54
cmp edx, 0x64
jae 0x55cf7a
xor ecx, ecx
cmp edx, 0xa
setae cl
lea r13d, [rcx + rcx*8]
inc r13d
jmp 0x55cfda
cmp edx, 0xf4240
jae 0x55cf98
cmp edx, 0x186a0
setb cl
mov r9d, 0x2710
mov r13d, 0x186a0
cmovb r13d, r9d
xor cl, 5
jmp 0x55cfda
cmp edx, 0x3e8
setb cl
mov r9d, 0x64
mov r13d, 0x3e8
cmovb r13d, r9d
xor cl, 3
jmp 0x55cfda
cmp edx, 0x5f5e100
jae 0x55cfbe
cmp edx, 0x989680
setb cl
mov r9d, 0xf4240
mov r13d, 0x989680
cmovb r13d, r9d
xor cl, 7
jmp 0x55cfda
cmp edx, 0x3b9aca00
setb cl
mov r9d, 0x5f5e100
mov r13d, 0x3b9aca00
cmovb r13d, r9d
xor cl, 9
movzx ecx, cl
mov r12d, ecx
sub r12d, eax
inc r12d
cmp r12w, bx
jle 0x55d0a4
mov qword [rsp + 0x50], r14
mov rax, rdi
mov edi, ebx
movzx ebx, si
mov qword [rsp + 0x60], rax
lea rsi, [rax - 1]
and r10, rsi
movsx rax, r12w
mov r9d, r12d
sub r9d, edi
movsx rdi, di
sub rax, rdi
cmp rax, r15
movsx rdi, r9w
cmovae rdi, r15
neg rcx
mov qword [rsp + 0x58], r15
mov r9, r15
neg r9
mov r14d, 1
mov r15d, 0xcccccccd
nop
lea rbp, [r9 + r14]
mov eax, edx
xor edx, edx
div r13d
cmp rbp, 1
je 0x55d1ee
add al, 0x30
mov byte [r8 + r14 - 1], al
cmp rdi, r14
je 0x55d0f4
lea rax, [rcx + r14]
cmp rax, 1
je 0x55d141
mov eax, r13d
imul rax, r15
shr rax, 0x23
inc r14
cmp r13d, 0xa
mov r13d, eax
jae 0x55d040
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.library_core_src_num_flt2dec_strategy_grisu.rs
mov edx, 0x19
call fcn.00552640
ud2
movabs rcx, 0xcccccccccccccccd
mov rax, r10
mul rcx
shr rdx, 3
mov eax, r13d
mov ecx, r11d
shl rax, cl
mov qword [rsp + 0x40], rdi
mov word [rsp + 0x28], bx
mov word [rsp + 0x20], r12w
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov rcx, r14
mov rdx, r8
mov r8, r15
xor r9d, r9d
call fcn.0055d280
mov rax, r14
jmp 0x55d1dd
mov eax, edx
mov ecx, r11d
shl rax, cl
add rax, r10
mov edx, r13d
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], r12w
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 0x55d1c4
dec ebx
and ebx, 0x3f
mov eax, 1
mov r9, qword [rsp + 0x58]
mov rdx, rax
mov ecx, ebx
shr rdx, cl
test rdx, rdx
jne 0x55d1d1
cmp r14, r9
jae 0x55d204
add r10, r10
lea rdx, [r10 + r10*4]
mov r10, rdx
and r10, rsi
add rax, rax
lea rax, [rax + rax*4]
mov ecx, r11d
shr rdx, cl
add dl, 0x30
mov byte [r8 + r14], dl
inc r14
cmp rdi, r14
jne 0x55d150
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r10
movzx eax, word [rsp + 0xd0]
mov word [rsp + 0x28], ax
mov word [rsp + 0x20], r12w
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
mov rdx, r8
mov r8, r9
mov r9, rdi
call fcn.0055d280
mov rax, rsi
jmp 0x55d1dd
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.library_core_src_num_flt2dec_strategy_grisu.rs
mov rcx, qword [rsp + 0x58]
mov rdx, rcx
call fcn.005526f0
ud2
lea r8, str.library_core_src_num_flt2dec_strategy_grisu.rs
mov rcx, r14
mov rdx, r9
call fcn.005526f0
ud2
lea r8, str.library_core_src_num_flt2dec_strategy_grisu.rs
mov edx, 0x51
mov rcx, rax
call fcn.005526f0
ud2
lea rcx, str.assertion_failed:_d.mant___0
lea r8, str.library_core_src_num_flt2dec_strategy_grisu.rs
mov edx, 0x1c
call fcn.00552640
ud2
lea rcx, str.assertion_failed:_d.mant____1____61_
lea r8, str.library_core_src_num_flt2dec_strategy_grisu.rs
mov edx, 0x24
call fcn.00552640
ud2
lea rcx, str.assertion_failed:__buf.is_empty__
lea r8, str.library_core_src_num_flt2dec_strategy_grisu.rs
mov edx, 0x21
call fcn.00552640
ud2