Function at 0x140049910
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov r9, r8
mov r8, qword [rdx]
test r8, r8
je 0x14004a0d4
mov rax, qword [rdx + 8]
test rax, rax
je 0x14004a0e4
mov rdi, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x14004a0f4
add rcx, r8
jb 0x14004a10e
mov r11, r8
sub r11, rax
jb 0x14004a128
mov rax, rcx
shr rax, 0x3d
jne 0x14004a142
mov eax, dword [rdx + 0x18]
mov rdx, rcx
shr rdx, 0x20
mov rbx, rcx
shl rbx, 0x20
lea r10d, [rax - 0x20]
test rdx, rdx
cmovne rbx, rcx
cmovne r10d, eax
mov rcx, rbx
shr rcx, 0x30
mov rdx, rbx
shl rdx, 0x10
lea esi, [r10 - 0x10]
test rcx, rcx
cmovne rdx, rbx
cmovne esi, r10d
mov rcx, rdx
shr rcx, 0x38
mov rbx, rdx
shl rbx, 8
lea r10d, [rsi - 8]
test rcx, rcx
cmovne rbx, rdx
cmovne r10d, esi
mov rcx, rbx
shr rcx, 0x3c
mov rsi, rbx
shl rsi, 4
test rcx, rcx
cmovne rsi, rbx
lea ecx, [r10 - 4]
cmovne ecx, r10d
mov rbx, rsi
shr rbx, 0x3e
lea rdx, [rsi*4]
lea r10d, [rcx - 2]
test rbx, rbx
cmovne rdx, rsi
cmovne r10d, ecx
xor ecx, ecx
test rdx, rdx
setns cl
shl rdx, cl
sub r10d, ecx
mov qword [rsp + 0x68], r11
mov word [rsp + 0x70], ax
mov ecx, eax
sub cx, r10w
js 0x14004a15c
and ecx, 0x3f
mov rbx, 0xffffffffffffffff
shr rbx, cl
mov rsi, rbx
and rsi, r11
mov qword [rsp + 0x58], rsi
cmp r11, rbx
ja 0x14004a0af
shl r11, cl
mov qword [rsp + 0x68], r8
mov word [rsp + 0x70], ax
mov rax, rbx
and rax, r8
mov qword [rsp + 0x58], rax
cmp r8, rbx
ja 0x14004a0af
mov eax, 0xffffffa0
sub eax, r10d
cwde
lea eax, [rax + rax*4]
shl eax, 4
add eax, 0x153b0
cdqe
imul rax, rax, 0x7b4dc993
mov rsi, rax
shr rsi, 0x3f
sar rax, 0x2a
add eax, esi
cdqe
cmp eax, 0x51
jae 0x14004a099
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], r9
shl r8, cl
shl rax, 4
lea r14, [0x1402450a8]
mov r9, qword [rax + r14]
movzx ecx, word [rax + r14 + 0xa]
mov dword [rsp + 0x20], ecx
mov r15, rdx
shr r15, 0x20
mov edx, edx
mov r12d, r9d
shr r9, 0x20
mov r13, r9
imul r13, rdx
mov rbp, r12
imul rbp, r15
imul rdx, r12
shr rdx, 0x20
mov esi, ebp
add rsi, rdx
mov edi, r13d
add rdi, rsi
add r10w, word [rax + r14 + 8]
mov rax, r11
shr rax, 0x20
mov edx, r11d
mov rcx, r9
imul rcx, rax
mov qword [rsp + 0x30], rcx
mov rsi, r9
imul rsi, rdx
imul rax, r12
imul rdx, r12
shr rdx, 0x20
mov r11d, eax
add r11, rdx
mov r14d, esi
add r14, r11
mov r11, r8
shr r11, 0x20
mov edx, r8d
mov rbx, r9
imul rbx, rdx
mov rcx, r12
imul rcx, r11
imul r12, rdx
shr r12, 0x20
mov edx, ecx
add rdx, r12
mov r12d, ebx
add r12, rdx
mov r8, r9
mov qword [rsp + 0xb0], r15
imul r8, r15
sub rdi, 0xffffffff80000000
shr rbp, 0x20
shr r13, 0x20
shr rdi, 0x20
neg r10d
sub r14, 0xffffffff80000000
shr rax, 0x20
shr rsi, 0x20
mov qword [rsp + 0x50], rsi
shr r14, 0x20
mov qword [rsp + 0xb8], r9
imul r9, r11
sub r12, 0xffffffff80000000
shr rcx, 0x20
mov qword [rsp + 0x90], rcx
add r9, rcx
shr rbx, 0x20
mov qword [rsp + 0xa0], rbp
lea rcx, [r8 + rbp]
mov qword [rsp + 0xa8], r13
add rcx, r13
mov qword [rsp + 0x60], rdi
lea r13, [rdi + rcx]
inc r13
and r10d, 0x3f
mov qword [rsp + 0x28], r13
mov ecx, r10d
shr r13, cl
mov edx, 1
shl rdx, cl
mov qword [rsp + 0x88], rbx
add r9, rbx
shr r12, 0x20
lea r15, [rdx - 1]
cmp r13d, 0x2710
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0x98], r11
mov qword [rsp + 0x78], r8
jae 0x140049c47
cmp r13d, 0x64
mov rdi, qword [rsp + 0x40]
jae 0x140049c75
xor ecx, ecx
cmp r13d, 0xa
setae cl
lea ebx, [rcx + rcx*8]
inc ebx
jmp 0x140049c8f
cmp r13d, 0xf4240
mov rdi, qword [rsp + 0x40]
jae 0x140049f43
cmp r13d, 0x186a0
setb cl
mov edx, 0x2710
mov ebx, 0x186a0
cmovb ebx, edx
xor cl, 5
jmp 0x140049c8f
cmp r13d, 0x3e8
setb cl
mov edx, 0x64
mov ebx, 0x3e8
cmovb ebx, edx
xor cl, 3
mov r8, qword [rsp + 0x30]
mov ebp, dword [rsp + 0x20]
mov qword [rsp + 0x80], r12
add r9, r12
mov qword [rsp + 0x40], r9
mov r9, qword [rsp + 0x28]
mov rsi, r9
and rsi, r15
movzx r11d, cl
mov ecx, r11d
sub ecx, ebp
inc ecx
mov dword [rsp + 0x4c], ecx
add r8, rax
add r8, qword [rsp + 0x50]
add r8, r14
mov qword [rsp + 0x30], r8
sub r9, r8
inc r9
mov qword [rsp + 0x20], r9
and r9, r15
xor r14d, r14d
mov ebp, 0xcccccccd
nop dword [rax + rax]
mov eax, r13d
xor edx, edx
div ebx
add al, 0x30
mov r13d, edx
mov rdx, r13
mov ecx, r10d
shl rdx, cl
mov byte [rdi + r14], al
lea r8, [rdx + rsi]
mov r12, qword [rsp + 0x20]
sub r12, r8
ja 0x140049d4e
cmp r11, r14
je 0x140049e67
mov eax, ebx
imul rax, rbp
shr rax, 0x23
inc r14
cmp ebx, 0xa
mov ebx, eax
jae 0x140049cf0
lea rcx, [0x1402456e0]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.140237a10
ud2
mov r15d, ebx
mov ecx, r10d
shl r15, cl
lea rcx, [r14 + 1]
cmp r14, 0x11
jae 0x14004a176
mov rbp, qword [rsp + 0x28]
mov r9, qword [rsp + 0x40]
sub rbp, r9
lea r10, [rbp + 1]
dec rbp
cmp r12, r15
setae r11b
cmp rbp, r8
jbe 0x140049f8b
cmp r12, r15
jb 0x140049f8b
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x28], rcx
mov r11, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xa0]
lea r10, [r12 + r11]
add r10, qword [rsp + 0x60]
add r10, qword [rsp + 0x78]
mov rbx, r10
sub rbx, r9
sub rbx, rdx
sub rbx, rsi
sub r10, qword [rsp + 0x30]
lea r13, [rsi + r15]
sub r10, r13
sub r10, rdx
mov rcx, qword [rsp + 0x90]
add rcx, r13
add rcx, qword [rsp + 0x88]
add rcx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x98]
sub r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xb8]
imul r9, r8
add r9, rcx
sub r9, r12
sub r9, r11
sub r9, qword [rsp + 0x60]
add r10, 2
nop
lea r12, [rdx + r13]
cmp r12, rbp
jb 0x140049e36
lea r8, [rdx + r9]
cmp rbx, r8
jb 0x140049f78
dec al
mov r8, r10
sub r8, r15
setae r11b
add rsi, r15
mov byte [rdi + r14], al
cmp r12, rbp
jae 0x140049e5f
sub rbx, r15
add r9, r15
add r13, r15
cmp r10, r15
mov r10, r8
jae 0x140049e20
add rdx, rsi
jmp 0x140049f7e
inc r14
mov r8d, 1
mov r12, rdi
mov r13, qword [rsp + 0x28]
mov rbp, qword [rsp + 0xc0]
cmp r14, 0x10
ja 0x14004a081
mov rax, r8
add rsi, rsi
lea rdx, [rsi + rsi*4]
mov rsi, rdx
and rsi, r15
lea rcx, [r8 + r8]
lea r8, [rcx + rcx*4]
mov rdi, r9
add rdi, r9
lea r9, [rdi + rdi*4]
mov ecx, r10d
shr rdx, cl
lea ecx, [rdx + 0x30]
mov byte [r12 + r14], cl
inc r14
mov r11, r9
sub r11, rsi
jbe 0x140049e80
sub r13, qword [rsp + 0x40]
imul r13, r8
lea rcx, [r8 + r13]
cmp r11, rbp
setae r11b
jb 0x14004a004
sub r13, r8
mov r8, r13
sub r8, rsi
jbe 0x14004a004
add dl, 0x2f
lea rdi, [rdi + rdi*4]
sub rdi, rbp
sub rdi, rsi
mov rbx, rbp
sub rbx, r13
lea r10, [rsi + rbp]
cmp r10, r13
jb 0x140049f16
lea r11, [rbx + rsi]
cmp r8, r11
jb 0x14004a001
mov r15, rdi
sub r15, rbp
setae r11b
mov byte [r12 + r14 - 1], dl
cmp r10, r13
jae 0x14004a007
dec dl
sub r8, rbp
mov rsi, r10
cmp rdi, rbp
mov rdi, r15
jae 0x140049f00
jmp 0x14004a007
cmp r13d, 0x5f5e100
mov r8, qword [rsp + 0x30]
mov ebp, dword [rsp + 0x20]
jae 0x140049fe2
cmp r13d, 0x989680
setb cl
mov edx, 0xf4240
mov ebx, 0x989680
cmovb ebx, edx
xor cl, 7
jmp 0x140049c98
add rdx, rsi
mov r11b, 1
mov r8, rdx
mov rcx, qword [rsp + 0x28]
mov r10, qword [rsp + 0x50]
mov rax, r10
sub rax, r8
jbe 0x140049fad
test r11b, r11b
je 0x140049fad
add r15, r8
sub r15, r10
jb 0x14004a058
cmp rax, r15
jae 0x14004a058
cmp r8, 2
jb 0x14004a058
mov rax, qword [rsp + 0x20]
add rax, 0xfffffffffffffffc
cmp r8, rax
ja 0x14004a058
mov rax, qword [rsp + 0x38]
mov qword [rax], rdi
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0x4c]
mov word [rax + 0x10], cx
jmp 0x14004a06d
cmp r13d, 0x3b9aca00
setb cl
mov edx, 0x5f5e100
mov ebx, 0x3b9aca00
cmovb ebx, edx
xor cl, 9
jmp 0x140049c98
mov r11b, 1
mov r10, rsi
mov rdx, rcx
sub rdx, r10
jbe 0x14004a021
test r11b, r11b
je 0x14004a021
add rbp, r10
sub rbp, rcx
jb 0x14004a058
cmp rdx, rbp
jae 0x14004a058
lea rcx, [rax*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r10
mov rcx, qword [rsp + 0x38]
ja 0x14004a066
shl rax, 3
lea rax, [rax + rax*4]
sub r9, rax
cmp r10, r9
ja 0x14004a066
mov qword [rcx], r12
mov qword [rcx + 8], r14
mov eax, dword [rsp + 0x4c]
mov word [rcx + 0x10], ax
jmp 0x14004a06d
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x14004a06d
mov qword [rcx], 0
add rsp, 0xf8
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 ecx, 0x11
mov edx, 0x11
call fcn.140237970
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rax
call fcn.140237970
ud2
mov qword [rsp + 0xd8], 0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x68]
lea r8, [rsp + 0xc8]
call fcn.140237a60
ud2
lea rcx, [0x140244e0f]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x14004a102
lea rcx, str.assertion_failed:_d.minus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x14004a16a
lea rcx, str.assertion_failed:_d.plus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.140237a10
ud2
lea rcx, str.assertion_failed:_d.mant.checked_add_d.plus_.is_some__
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x36
call fcn.140237a10
ud2
lea rcx, str.assertion_failed:_d.mant.checked_sub_d.minus_.is_some__
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x37
call fcn.140237a10
ud2
lea rcx, str.assertion_failed:_d.mant__d.plus____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x2d
call fcn.140237a10
ud2
lea rcx, str.assertion_failed:_edelta___0librarycore_src_numdiy_float.rs
lea r8, [0x140244c88]
mov edx, 0x1d
call fcn.140237a10
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x11
call fcn.140237a00
ud2