Function at 0x140104ae0
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 rax, qword [rdx]
test rax, rax
je 0x14010527e
mov r9, qword [rdx + 8]
test r9, r9
je 0x140105296
mov rbx, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x1401052ae
add rcx, rax
jb 0x1401052c6
mov rsi, rax
sub rsi, r9
jb 0x1401052de
mov r9, rcx
shr r9, 0x3d
jne 0x1401052f6
mov r11d, dword [rdx + 0x18]
mov rdx, rcx
shr rdx, 0x20
mov rdi, rcx
shl rdi, 0x20
lea r9d, [r11 - 0x20]
test rdx, rdx
cmovne rdi, rcx
cmovne r9d, r11d
mov rcx, rdi
shr rcx, 0x30
mov rdx, rdi
shl rdx, 0x10
lea r10d, [r9 - 0x10]
test rcx, rcx
cmovne rdx, rdi
cmovne r10d, r9d
mov rcx, rdx
shr rcx, 0x38
mov rdi, rdx
shl rdi, 8
lea r9d, [r10 - 8]
test rcx, rcx
cmovne rdi, rdx
cmovne r9d, r10d
mov rcx, rdi
shr rcx, 0x3c
mov rdx, rdi
shl rdx, 4
test rcx, rcx
cmovne rdx, rdi
lea ecx, [r9 - 4]
cmovne ecx, r9d
mov r9, rdx
shr r9, 0x3e
lea rdi, [rdx*4]
lea ebp, [rcx - 2]
test r9, r9
cmovne rdi, rdx
cmovne ebp, ecx
xor ecx, ecx
test rdi, rdi
setns cl
shl rdi, cl
sub ebp, ecx
mov qword [rsp + 0x68], rsi
mov word [rsp + 0x70], r11w
mov ecx, r11d
sub cx, bp
js 0x14010530e
and ecx, 0x3f
mov r9, rsi
shl r9, cl
mov rdx, r9
shr rdx, cl
mov qword [rsp + 0x50], rdx
cmp rdx, rsi
jne 0x14010525b
mov rdx, rax
shl rdx, cl
mov r10, rdx
shr r10, cl
mov qword [rsp + 0x68], rax
mov word [rsp + 0x70], r11w
mov qword [rsp + 0x50], r10
cmp r10, rax
jne 0x14010525b
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 rcx, eax
cmp ecx, 0x51
jae 0x14010524a
mov r15, r8
mov qword [rsp + 0x40], rbx
shl rcx, 4
lea rbx, [0x1401cce18]
mov r14, qword [rcx + rbx]
movzx eax, word [rcx + rbx + 0xa]
mov dword [rsp + 0x20], eax
mov rax, rdi
shr rax, 0x20
mov r8, rax
mov qword [rsp + 0x60], rax
mov esi, edi
mov r11d, r14d
shr r14, 0x20
mov rax, r14
imul rax, rsi
mov rdi, rax
mov qword [rsp + 0x48], rax
mov rax, r11
imul rax, r8
imul rsi, r11
shr rsi, 0x20
mov r10d, eax
add r10, rsi
mov esi, edi
add rsi, r10
add bp, word [rcx + rbx + 8]
mov rdi, r9
shr rdi, 0x20
mov ecx, r9d
mov r9, r14
imul r9, rdi
mov qword [rsp + 0x30], r9
mov r13, r14
imul r13, rcx
imul rdi, r11
imul rcx, r11
shr rcx, 0x20
mov r9d, edi
add r9, rcx
mov r12d, r13d
add r12, r9
mov rbx, rdx
shr rbx, 0x20
mov ecx, edx
mov r8, r14
imul r8, rcx
mov rdx, r11
imul rdx, rbx
imul r11, rcx
shr r11, 0x20
mov ecx, edx
add rcx, r11
mov r10d, r8d
add r10, rcx
mov rcx, r14
imul rcx, qword [rsp + 0x60]
sub rsi, 0xffffffff80000000
shr rax, 0x20
mov r9, qword [rsp + 0x48]
shr r9, 0x20
shr rsi, 0x20
neg ebp
sub r12, 0xffffffff80000000
shr rdi, 0x20
shr r13, 0x20
mov qword [rsp + 0x28], r13
shr r12, 0x20
mov qword [rsp + 0xb0], r14
mov r13, r14
mov r14, r9
imul r13, rbx
sub r10, 0xffffffff80000000
shr rdx, 0x20
add r13, rdx
shr r8, 0x20
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x80], rcx
add rcx, rax
add rcx, r9
lea r9, [rsi + rcx]
inc r9
and ebp, 0x3f
mov r11, r9
mov ecx, ebp
shr r11, cl
mov eax, 1
shl rax, cl
mov qword [rsp + 0x88], r8
add r13, r8
shr r10, 0x20
mov qword [rsp + 0x58], r10
mov qword [rsp + 0xc0], rax
lea r10, [rax - 1]
cmp r11d, 0x2710
mov qword [rsp + 0x48], r14
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rdx
jae 0x140104e20
cmp r11d, 0x64
jae 0x140104e45
xor ecx, ecx
cmp r11d, 0xa
setae cl
lea ebx, [rcx + rcx*8]
inc ebx
jmp 0x140104ea0
cmp r11d, 0xf4240
jae 0x140104e61
cmp r11d, 0x186a0
setb cl
mov edx, 0x2710
mov ebx, 0x186a0
cmovb ebx, edx
xor cl, 5
jmp 0x140104ea0
cmp r11d, 0x3e8
setb cl
mov edx, 0x64
mov ebx, 0x3e8
cmovb ebx, edx
xor cl, 3
jmp 0x140104ea0
cmp r11d, 0x5f5e100
jae 0x140104e86
cmp r11d, 0x989680
setb cl
mov edx, 0xf4240
mov ebx, 0x989680
cmovb ebx, edx
xor cl, 7
jmp 0x140104ea0
cmp r11d, 0x3b9aca00
setb cl
mov edx, 0x5f5e100
mov ebx, 0x3b9aca00
cmovb ebx, edx
xor cl, 9
mov rax, qword [rsp + 0x30]
mov edx, dword [rsp + 0x20]
add r13, qword [rsp + 0x58]
mov qword [rsp + 0x20], r13
mov rsi, r9
and rsi, r10
movzx r8d, cl
mov ecx, r8d
sub ecx, edx
inc ecx
mov dword [rsp + 0x3c], ecx
add rax, rdi
add rax, qword [rsp + 0x28]
add rax, r12
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], rax
sub r9, rax
mov qword [rsp + 0x78], r9
mov rax, r10
lea r10, [r9 + 1]
mov r12, r10
mov qword [rsp + 0xb8], rax
and r12, rax
xor r14d, r14d
nop dword [rax]
mov eax, r11d
xor edx, edx
div ebx
add al, 0x30
mov rdi, r15
mov byte [r15 + r14], al
mov r11d, edx
mov rdx, r11
mov r13, rbp
mov ecx, ebp
shl rdx, cl
lea r15, [r14 + 1]
lea r9, [rdx + rsi]
mov rbp, r10
sub rbp, r9
ja 0x140104f6e
cmp r8, r14
je 0x140105081
mov eax, ebx
mov ecx, 0xcccccccd
imul rax, rcx
shr rax, 0x23
mov r14, r15
cmp ebx, 0xa
mov ebx, eax
mov r15, rdi
mov rbp, r13
jae 0x140104f00
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.1401b1e10
mov r8d, ebx
mov ecx, r13d
shl r8, cl
mov rcx, r8
mov r13, qword [rsp + 0x28]
sub r13, qword [rsp + 0x20]
lea r10, [r13 + 1]
dec r13
cmp rbp, r8
setb r8b
cmp r13, r9
jbe 0x140105170
cmp rbp, rcx
jb 0x140105170
mov qword [rsp + 0x28], r10
mov r12, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x48]
lea r10, [r12 + r8]
mov rbp, qword [rsp + 0xa0]
add r10, rbp
add r10, qword [rsp + 0x80]
mov r11, r10
sub r11, qword [rsp + 0x20]
sub r11, r9
lea rbx, [rsi + rcx]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x90]
add rcx, rbx
inc r14
mov r8d, 1
mov rbx, rdi
mov rcx, r13
mov ecx, ebp
mov r15, qword [rsp + 0x28]
mov r13, qword [rsp + 0xc0]
rol byte [rax], 0
add byte [rbx + rcx*4 - 0x6c], cl
and al, 0xb8
add byte [rax], al
add byte [rsi + 0x66], ah
nop dword cs:[rax + rax]