Function at 0x140020fcf
Capabilities:
Check if file exists

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe28
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xda0], 0xfffffffffffffffe
mov r15, rdx
mov qword [rbp + 0xd28], rcx
mov rdx, qword [rdx + 0x20]
mov rcx, qword [r15 + 0xa8]
mov rax, rdx
sub rax, rcx
jb 0x140022175
mov rdi, r9
mov qword [rbp + 0xd00], rax
cmp rax, qword [r15 + 0x88]
mov qword [rbp + 0xd80], r15
mov qword [rbp + 0xd68], r8
jne 0x140021173
cmp rdx, rcx
jbe 0x1400221a5
mov rbx, qword [r15 + 0x18]
imul rax, rcx, 0x270
cmp dword [rbx + rax + 0x10], 3
je 0x140021173
mov r13, rdi
add rbx, rax
lea rsi, [rbp + 0x9c0]
mov rcx, rsi
mov rdx, rbx
call fcn.14001f5f2
cmp dword [rsi], 3
jne 0x140021084
push 8
pop r14
xor edi, edi
xor esi, esi
jmp 0x14002113c
lea rsi, [rbp + 0x6d0]
mov rcx, rsi
call fcn.14001f69c
cmp qword [rsi], 0
mov rax, qword [rsi + 8]
jne 0x1400221b1
lea r15, [rbp + 0x6d0]
mov r14, qword [r15 + 0x10]
push 0x10
pop rcx
lea rsi, [rbp + 0x9c0]
mov rdi, r14
rep movsq qword [rdi], qword [rsi]
lea rsi, [rbp + 0x418]
mov qword [rsi], rax
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], 1
push 1
pop rdi
mov r12d, 0x80
mov rcx, r15
mov rdx, rbx
call fcn.14001f5f2
cmp dword [rbp + 0x6d0], 3
je 0x140021129
cmp rdi, qword [rbp + 0x418]
jne 0x140021107
mov rcx, rsi
call fcn.14001f6e4
mov r14, qword [rbp + 0x420]
lea rcx, [r14 + r12]
mov r8d, 0x80
mov rdx, r15
call sub.VCRUNTIME140.dll_memmove
inc rdi
mov qword [rbp + 0x428], rdi
sub r12, 0xffffffffffffff80
jmp 0x1400210db
lea rcx, [rbp + 0x6d0]
call fcn.14001f6da
mov rsi, qword [rbp + 0x418]
shl rdi, 7
add rdi, r14
mov rcx, rbx
call fcn.14001fd72
mov dword [rbx + 0x10], 3
mov qword [rbx + 0x18], r14
mov qword [rbx + 0x20], r14
mov qword [rbx + 0x28], rsi
mov qword [rbx + 0x30], rdi
mov r15, qword [rbp + 0xd80]
mov rdi, r13
mov r8, qword [rbp + 0xd68]
test rdi, rdi
mov qword [rbp + 0xd40], rdi
je 0x1400212e7
js 0x140022181
mov al, byte [0x140030238]
mov rcx, rdi
call fcn.14001c300
test rax, rax
je 0x140022186
mov qword [rbp + 0xd90], rax
mov rcx, rax
mov rbx, qword [rbp + 0xd68]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov al, byte [0x140030238]
mov rcx, rdi
call fcn.14001c300
test rax, rax
je 0x140022191
mov rsi, rax
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp + 0x9c0]
mov qword [rcx], rdi
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], rdi
mov byte [rcx + 0x18], 0
lea rdx, str.fatal_runtime_error:_I_O_error:_operation_failed_to_complete_synchronously_n
push 1
pop rsi
mov r8, rsi
call fcn.14001a610
mov rax, qword [rbp + 0x9c0]
mov qword [rbp + 0xd78], rax
mov rdx, qword [rbp + 0x9c8]
mov r8, qword [rbp + 0x9d0]
mov byte [rbp + 0xd9e], 1
lea rcx, [rbp + 0x418]
mov qword [rbp + 0xd88], rdx
call fcn.140018300
mov rax, qword [rbp + 0x418]
mov r12, qword [rbp + 0x420]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x1400212ac
mov rcx, qword [rbp + 0x428]
lea rdx, [rbp + 0x9c0]
mov qword [rdx], rax
mov qword [rdx + 8], r12
mov qword [rdx + 0x10], rcx
mov byte [rbp + 0xd9e], 1
lea rcx, [rbp + 0xc30]
call fcn.140019d20
mov r14, qword [rbp + 0xc30]
mov r12, qword [rbp + 0xc38]
movabs rax, 0x8000000000000000
cmp r14, rax
jne 0x140021442
mov rsi, qword [rbp + 0xd90]
cmp qword [rbp + 0xd78], 0
je 0x1400212cc
push 1
pop rdx
mov rcx, qword [rbp + 0xd88]
call fcn.1400099f0
push 1
pop rdx
mov rcx, rsi
call fcn.1400099f0
mov r15, qword [rbp + 0xd80]
mov r8, qword [rbp + 0xd68]
jmp 0x1400212f1
movabs r12, 0x300000002
mov r14, qword [r15 + 0xb0]
lea rsi, [rbp + 0x6e0]
mov rcx, rsi
mov rdx, r8
mov r8, qword [rbp + 0xd40]
call fcn.14001c280
and qword [rsi - 0x10], 0
mov qword [rsi - 8], r12
mov qword [rsi + 0x38], r14
lea rdi, [rbp + 0x680]
push 0x14
pop rcx
lea rsi, [rbp + 0x6d0]
rep movsd dword [rdi], dword [rsi]
push 2
pop r13
mov rbx, r12
lea rdi, [rbp + 0x1bc]
mov qword [rdi + 0x254], r14
mov qword [rdi - 0x14], rbx
mov qword [rdi - 0xc], rax
mov dword [rdi - 4], r13d
push 0x15
pop rcx
lea rsi, [rbp + 0x67c]
rep movsd dword [rdi], dword [rsi]
lea rcx, [rbp + 0x210]
lea rdx, [rbp - 0x58]
mov r8d, 0x200
call sub.VCRUNTIME140.dll_memcpy
cmp qword [r15 + 0x78], 0
je 0x140021e2c
lea rax, [r15 + 0x78]
mov qword [rbp + 0xd10], rax
lea rsi, [rbp + 0x9c0]
lea rdx, [rbp + 0x1a8]
mov r8d, 0x270
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsi + 0x10]
cmp eax, 2
je 0x1400213e4
cmp eax, 3
jne 0x140021407
mov rsi, qword [rbp + 0x9e0]
cmp rsi, qword [rbp + 0x9f0]
je 0x140021597
lea rax, [rsi + 0x80]
mov qword [rbp + 0x9e0], rax
push 0x10
pop rcx
lea rdi, [rbp + 0x940]
rep movsq qword [rdi], qword [rsi]
jmp 0x140021436
mov rax, qword [rbp + 0x9d8]
mov qword [rbp + 0x9d8], 2
cmp rax, 2
jne 0x14002156f
push 3
jmp 0x140021589
lea rdx, [rbp + 0x9c0]
mov rsi, qword [rdx + 0x268]
lea rdi, [rbp + 0x6d0]
mov rcx, rdi
call fcn.14001a400
lea rcx, [rbp + 0x940]
mov rdx, rdi
mov r8, rsi
call fcn.14001f847
mov rax, qword [rbp + 0x940]
jmp 0x140021591
lea rdi, [rbp + 0x9c0]
mov r8d, 0x250
mov rcx, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rcx, r12
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
je 0x14002203a
mov rdi, rax
mov al, byte [0x140030238]
push 0x30
pop rcx
call fcn.14001c300
test rax, rax
mov qword [rbp + 0xd48], rdi
je 0x1400221e4
mov rbx, rax
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov rax, qword [rbp + 0xd40]
mov qword [rbx + 0x10], rax
mov rcx, qword [rbp + 0xd90]
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rax
mov byte [rbx + 0x28], 0
lea rcx, [rbp + 0x6d0]
lea rdx, [rbp + 0x9c0]
mov r8d, 0x250
call sub.VCRUNTIME140.dll_memcpy
test r14, r14
je 0x1400214e1
push 2
pop rdx
mov rcx, r12
call fcn.1400099f0
push 1
pop r13
cmp qword [rbp + 0xd78], 0
je 0x1400214fe
push 1
pop rdx
mov rcx, qword [rbp + 0xd88]
call fcn.1400099f0
push 0x15
pop r14
lea r15, [rbp + 0x418]
lea rsi, [rbp + 0x6d0]
mov rcx, r14
mov rdi, r15
rep movsd dword [rdi], dword [rsi]
lea rdx, [rbp + 0x724]
lea r12, [rbp + 0x9c0]
mov r8d, 0x200
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
lea rdi, [rbp + 0x67c]
mov rcx, r14
mov rsi, r15
rep movsd dword [rdi], dword [rsi]
lea rcx, [rbp - 0x58]
mov r8d, 0x200
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov r15, qword [rbp + 0xd80]
mov r14, qword [r15 + 0xb0]
mov rax, qword [rbp + 0xd48]
jmp 0x140021338
lea rsi, [rbp + 0x9e0]
lea rdi, [rbp + 0x950]
mov qword [rdi - 8], rax
push 9
pop rcx
rep movsq qword [rdi], qword [rsi]
push 2
pop rax
mov qword [rbp + 0x940], rax
cmp rax, 3
jne 0x1400215c5
push 8
pop r13
lea rsi, [rbp + 0x9c0]
mov rcx, rsi
call fcn.14001fd72
lea rax, [rbp + 0xd10]
mov qword [rsi], rax
xor esi, esi
xor r12d, r12d
mov r15, qword [rbp + 0xd80]
jmp 0x140021dff
lea rsi, [rbp + 0x6d0]
mov rcx, rsi
call fcn.14001f69c
cmp qword [rsi], 0
mov rax, qword [rsi + 8]
jne 0x1400221b1
push 1
pop rcx
mov qword [rbp + 0xd90], rcx
lea rbx, [rbp + 0x6d0]
mov rdx, qword [rbx + 0x10]
push 0x10
pop rcx
lea rsi, [rbp + 0x940]
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
lea r14, [rbp + 0xce0]
mov qword [r14], rax
mov qword [rbp + 0xd60], rdx
mov qword [r14 + 8], rdx
mov qword [r14 + 0x10], 1
lea rdx, [rbp + 0x9c0]
mov r8d, 0x270
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r13d, 0x80
lea r15, [rbp + 0xc30]
lea r12, [rbp + 0x418]
mov eax, dword [rbp + 0x6e0]
cmp eax, 2
je 0x14002168a
cmp eax, 3
jne 0x1400216cc
mov rsi, qword [rbp + 0x6f0]
cmp rsi, qword [rbp + 0x700]
je 0x140021759
lea rax, [rsi + 0x80]
mov qword [rbp + 0x6f0], rax
push 0x10
pop rcx
mov rdi, r15
rep movsq qword [rdi], qword [rsi]
jmp 0x1400216ec
mov rcx, qword [rbp + 0x6e8]
mov qword [rbp + 0x6e8], 2
push 3
pop rax
cmp rcx, 2
je 0x1400216c3
mov qword [rbp + 0xc38], rcx
push 9
pop rcx
lea rdi, [rbp + 0xc40]
lea rsi, [rbp + 0x6f0]
rep movsq qword [rdi], qword [rsi]
push 2
pop rax
mov qword [rbp + 0xc30], rax
jmp 0x1400216f3
mov rsi, qword [rbp + 0x938]
mov rcx, r12
mov rdx, rbx
call fcn.14001a400
mov rcx, r15
mov rdx, r12
mov r8, rsi
call fcn.14001f847
mov rax, qword [rbp + 0xc30]
cmp rax, 3
je 0x140021764
mov rax, qword [rbp + 0xd90]
cmp rax, qword [rbp + 0xce0]
jne 0x14002171f
mov rcx, r14
call fcn.14001f6e4
mov rax, qword [rbp + 0xce8]
mov qword [rbp + 0xd60], rax
mov rax, qword [rbp + 0xd60]
lea rcx, [rax + r13]
mov r8d, 0x80
mov rdx, r15
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [rbp + 0xd90]
inc rax
mov qword [rbp + 0xd90], rax
mov qword [rbp + 0xcf0], rax
sub r13, 0xffffffffffffff80
jmp 0x14002164d
mov qword [rbp + 0xc30], 3
lea rcx, [rbp + 0xc30]
call fcn.14001f6da
lea rcx, [rbp + 0x6d0]
call fcn.14001fd72
mov rsi, qword [rbp + 0xce0]
lea rax, [rbp + 0xd10]
mov qword [rbp + 0x9c0], rax
mov r12, qword [rbp + 0xd90]
cmp r12, 0x15
jae 0x1400217ca
cmp r12, 1
mov r13, qword [rbp + 0xd60]
jbe 0x1400215b9
push 1
pop r8
lea r9, [rbp + 0x9c0]
mov rcx, r13
mov rdx, r12
call fcn.14002011d
jmp 0x1400215b9
mov rax, r12
shl rax, 6
movabs rcx, 0x7fffffffffffff80
and rcx, rax
call fcn.14001f83c
test rax, rax
mov r13, qword [rbp + 0xd60]
je 0x1400221cc
mov r14, rax
mov qword [rbp + 0xd08], rsi
mov ecx, 0x100
call fcn.14001f83c
test rax, rax
je 0x1400221d8
mov r15, rax
lea rax, [r13 + 0x80]
mov qword [rbp + 0xd20], rax
xor ebx, ebx
push 0x10
pop rax
mov qword [rbp + 0xd18], rax
xor ecx, ecx
mov qword [rbp + 0xd70], r14
mov qword [rbp + 0xd90], r12
mov rdi, r12
sub rdi, rcx
jbe 0x140021dd8
cmp rdi, 2
mov qword [rbp + 0xd88], rcx
jb 0x140021a23
mov qword [rbp + 0xd78], rbx
mov qword [rbp + 0xd50], r15
mov rbx, rcx
shl rbx, 7
lea r8, [rbx + r13]
lea rdx, [r8 + 0x80]
lea rcx, [rbp + 0x9c0]
call fcn.14002025b
test al, al
je 0x1400218bf
add rbx, qword [rbp + 0xd20]
push 2
pop r15
cmp rdi, r15
je 0x140021906
lea r14, [rbx + 0x80]
lea rcx, [rbp + 0x9c0]
mov rdx, r14
mov r8, rbx
call fcn.14002025b
test al, al
je 0x140021903
inc r15
mov rbx, r14
jmp 0x140021895
add rbx, qword [rbp + 0xd20]
push 2
pop r15
cmp rdi, r15
je 0x140021a0e
lea r14, [rbx + 0x80]
lea rcx, [rbp + 0x9c0]
mov rdx, r14
mov r8, rbx
call fcn.14002025b
test al, al
jne 0x140021a04
inc r15
mov rbx, r14
mov r14, qword [rbp + 0xd70]
jmp 0x1400218ca
mov rdi, r15
mov rcx, qword [rbp + 0xd88]
lea rdx, [rdi + rcx]
lea rax, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
mov qword [rsp + 0x20], rax
mov rsi, rdx
mov r8, r13
mov r9, r12
call fcn.1400200e4
mov rbx, rdx
shr rbx, 1
shl rdx, 7
lea r12, [rdx + rax]
mov r13, rbx
shl r13, 7
sub r12, r13
lea rcx, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slicemod.rs
mov qword [rsp + 0x20], rcx
xor ecx, ecx
mov rdx, rbx
mov r8, rax
mov r9, rbx
call fcn.1400200e4
mov r15, rax
mov r14, rdx
lea rax, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slicemod.rs
mov qword [rsp + 0x20], rax
xor ecx, ecx
mov rdx, rbx
mov r8, r12
mov r9, rbx
call fcn.1400200e4
add rax, r13
add rax, 0xffffffffffffff80
xor r8d, r8d
cmp r8, rbx
je 0x1400219d5
cmp r8, r14
je 0x140022135
mov rcx, r8
not rcx
add rcx, rbx
cmp rcx, rdx
jae 0x140022147
xor ecx, ecx
cmp rcx, 0x10
je 0x1400219c8
mov r9, qword [r15 + rcx*8]
mov r10, qword [rax + rcx*8]
mov qword [r15 + rcx*8], r10
mov qword [rax + rcx*8], r9
inc rcx
jmp 0x1400219ad
inc r8
add rax, 0xffffffffffffff80
sub r15, 0xffffffffffffff80
jmp 0x14002198b
mov r13, qword [rbp + 0xd60]
mov r12, qword [rbp + 0xd90]
mov r14, qword [rbp + 0xd70]
mov r15, qword [rbp + 0xd50]
mov rbx, qword [rbp + 0xd78]
mov rax, rsi
mov rcx, qword [rbp + 0xd88]
jmp 0x140021a27
mov rdi, r15
mov r14, qword [rbp + 0xd70]
mov r15, qword [rbp + 0xd50]
mov rbx, qword [rbp + 0xd78]
mov rcx, qword [rbp + 0xd88]
lea rax, [rdi + rcx]
cmp rax, rcx
jb 0x140022153
cmp rax, r12
ja 0x140022153
jae 0x140021a8a
cmp rdi, 9
ja 0x140021a8a
lea rsi, [rcx + 0xa]
cmp rsi, r12
cmovae rsi, r12
cmp rdi, 1
adc rdi, 0
lea rax, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov r8, r13
mov r9, r12
call fcn.1400200e4
mov rcx, rax
mov r8, rdi
lea r9, [rbp + 0x9c0]
call fcn.14002011d
mov rcx, qword [rbp + 0xd88]
mov rax, rsi
mov rsi, qword [rbp + 0xd18]
cmp rbx, rsi
mov qword [rbp + 0xd58], rax
jne 0x140021aed
mov rcx, rsi
shl rcx, 5
call fcn.14001f83c
test rax, rax
je 0x140022169
mov r8, rsi
mov rdi, rax
add rsi, rsi
shl r8, 4
mov rcx, rax
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r15
push 8
pop rdx
call fcn.1400099f0
mov qword [rbp + 0xd18], rsi
mov r15, rdi
mov rax, qword [rbp + 0xd58]
mov rcx, qword [rbp + 0xd88]
sub rax, rcx
mov rdx, rbx
shl rdx, 4
mov qword [r15 + rdx], rax
mov qword [r15 + rdx + 8], rcx
inc rbx
mov qword [rbp + 0xd50], r15
cmp rbx, 2
jb 0x140021db6
mov rcx, rbx
shl rcx, 4
mov rax, qword [rcx + r15 - 0x10]
mov rdx, qword [rcx + r15 - 8]
add rdx, rax
cmp rdx, r12
je 0x140021b75
mov r10, qword [rcx + r15 - 0x20]
cmp r10, rax
jbe 0x140021b75
cmp rbx, 2
je 0x140021db6
lea r8, [rbx - 3]
mov rdx, r8
shl rdx, 4
mov rdx, qword [r15 + rdx]
lea r9, [r10 + rax]
cmp rdx, r9
jbe 0x140021b8f
cmp rbx, 3
jbe 0x140021db6
mov r12, r13
add r10, rdx
cmp qword [rcx + r15 - 0x40], r10
jbe 0x140021b92
jmp 0x140021dc2
mov r12, r13
cmp rbx, 2
je 0x140021b97
lea r8, [rbx - 3]
mov rcx, r8
shl rcx, 4
mov rdx, qword [r15 + rcx]
jmp 0x140021b92
mov r12, r13
cmp rdx, rax
jb 0x140021b9b
lea r8, [rbx - 2]
mov rcx, r15
mov rdx, rbx
lea r9, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
mov rsi, r8
call fcn.14001ff40
mov r13, qword [rax]
mov rdi, qword [rax + 8]
mov qword [rbp + 0xd48], rsi
lea r8, [rsi + 1]
mov rcx, r15
mov qword [rbp + 0xd78], rbx
mov rdx, rbx
mov qword [rbp + 0xd88], r8
lea r9, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
call fcn.14001ff40
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rbp + 0xcf8], rcx
add rdx, rcx
lea rax, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
mov qword [rsp + 0x20], rax
mov qword [rbp + 0xd30], rdi
mov rcx, rdi
mov r8, r12
mov r9, qword [rbp + 0xd90]
call fcn.1400200e4
mov r15, rax
mov rsi, rdx
mov rbx, r13
shl rbx, 7
lea r12, [rax + rbx]
mov r14, rdx
shl r14, 7
sub rsi, r13
mov qword [rbp + 0xd38], r13
cmp rsi, r13
jae 0x140021cba
shl rsi, 7
mov rdi, qword [rbp + 0xd70]
mov rcx, rdi
mov rdx, r12
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, rdi
lea r13, [r15 + r14]
add r13, 0xffffffffffffff80
mov r14, rdi
mov rbx, rsi
cmp r12, r15
jbe 0x140021cb2
cmp rbx, r14
jbe 0x140021cb2
lea rdx, [rbx - 0x80]
lea r8, [r12 - 0x80]
lea rcx, [rbp + 0x9c0]
call fcn.14002025b
movzx eax, al
mov ecx, eax
shl ecx, 7
sub r12, rcx
add rbx, rcx
add rbx, 0xffffffffffffff80
test al, al
mov rsi, rbx
cmovne rsi, r12
push 0x10
pop rcx
mov rdi, r13
rep movsq qword [rdi], qword [rsi]
add r13, 0xffffffffffffff80
jmp 0x140021c69
mov r15, r12
mov r13, r14
jmp 0x140021d26
add r14, r15
mov r13, qword [rbp + 0xd70]
mov rcx, r13
mov rdx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbx, r13
cmp r13, rbx
jae 0x140021d1f
cmp r12, r14
jae 0x140021d1f
lea rcx, [rbp + 0x9c0]
mov rdx, r12
mov r8, r13
call fcn.14002025b
test al, al
mov rsi, r13
cmovne rsi, r12
push 0x10
pop rcx
mov rdi, r15
rep movsq qword [rdi], qword [rsi]
sub r15, 0xffffffffffffff80
movzx eax, al
mov ecx, eax
shl ecx, 7
add r12, rcx
xor al, 1
movzx eax, al
shl eax, 7
add r13, rax
jmp 0x140021cd5
mov r14, qword [rbp + 0xd70]
sub rbx, r13
mov rcx, r15
mov rdx, r13
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rbx, qword [rbp + 0xd78]
mov rcx, qword [rbp + 0xd88]
cmp rbx, rcx
jbe 0x140022101
mov rax, qword [rbp + 0xcf8]
add rax, qword [rbp + 0xd38]
shl rcx, 4
mov r15, qword [rbp + 0xd50]
mov qword [r15 + rcx], rax
mov rax, qword [rbp + 0xd30]
mov qword [r15 + rcx + 8], rax
mov r8, qword [rbp + 0xd48]
mov rax, r8
shl rax, 4
lea rcx, [r15 + rax]
lea rdx, [r15 + rax]
add rdx, 0x10
not r8
add r8, rbx
shl r8, 4
call sub.VCRUNTIME140.dll_memmove
dec rbx
mov r13, qword [rbp + 0xd60]
mov r12, qword [rbp + 0xd90]
jmp 0x140021b0a
mov rcx, qword [rbp + 0xd58]
jmp 0x14002183d
mov rcx, qword [rbp + 0xd58]
mov r13, r12
mov r12, qword [rbp + 0xd90]
jmp 0x14002183d
push 8
pop rsi
mov rcx, r15
mov rdx, rsi
call fcn.1400099f0
mov rcx, r14
mov rdx, rsi
call fcn.1400099f0
mov r15, qword [rbp + 0xd80]
mov rsi, qword [rbp + 0xd08]
shl r12, 7
add r12, r13
mov dword [rbp + 0x1b8], 3
mov qword [rbp + 0x1c0], r13
mov qword [rbp + 0x1c8], r13
mov qword [rbp + 0x1d0], rsi
mov qword [rbp + 0x1d8], r12
cmp byte [r15 + 0xa0], 0
je 0x140021fac
mov rcx, qword [rbp + 0xd68]
mov r15, qword [rbp + 0xd40]
mov rdx, r15
call fcn.14001fe51
mov rsi, rdx
test rax, rax
jne 0x140021e89
lea rdx, [rbp + 0x418]
mov qword [rdx], rsi
lea rdi, [rbp + 0x9c0]
mov rcx, rdi
call fcn.140013694
cmp dword [rdi], 0
je 0x140021ec9
mov rdi, qword [rbp + 0x9c8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, rdi
mov rcx, qword [rbp + 0xd28]
and qword [rcx], 0
mov rax, qword [rbp + 0xd80]
mov rax, qword [rax + 0xb0]
mov qword [rcx + 8], rsi
movabs rdx, 0x8000000000000000
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x48], rax
lea rcx, [rbp + 0x1a8]
call fcn.14001fd72
jmp 0x140022026
mov ebx, dword [rbp + 0x9e0]
mov r14d, dword [rbp + 0x9f0]
mov eax, dword [rbp + 0x9f4]
shl r14, 0x20
or r14, rax
lea rdi, [rbp + 0x6f8]
mov rcx, rdi
mov rdx, qword [rbp + 0xd68]
mov r8, r15
call fcn.14001c280
mov qword [rdi - 0x18], r14
mov qword [rdi - 0x10], 2
mov qword [rdi - 8], rsi
movups xmm0, xmmword [rdi + 8]
movaps xmmword [rbp + 0xcd0], xmm0
mov rax, qword [rdi - 0x18]
mov qword [rbp + 0xcb0], rax
mov rax, qword [rdi - 0x10]
mov qword [rbp + 0xcb8], rax
mov rax, qword [rdi - 8]
mov qword [rbp + 0xcc0], rax
mov rax, qword [rdi]
mov qword [rbp + 0xcc8], rax
mov rdi, qword [rdi + 0x18]
mov r15, qword [rbp + 0xd80]
mov rsi, qword [r15 + 0x38]
cmp rsi, qword [r15 + 0x28]
jne 0x140021f67
lea rcx, [r15 + 0x28]
call fcn.1400203f3
mov r15, qword [rbp + 0xd80]
mov rax, qword [r15 + 0x30]
imul rcx, rsi, 0x48
mov qword [rax + rcx], 1
mov qword [rax + rcx + 8], rbx
movaps xmm0, xmmword [rbp + 0xcb0]
movaps xmm1, xmmword [rbp + 0xcc0]
movaps xmm2, xmmword [rbp + 0xcd0]
movups xmmword [rax + rcx + 0x10], xmm0
movups xmmword [rax + rcx + 0x20], xmm1
movups xmmword [rax + rcx + 0x30], xmm2
mov qword [rax + rcx + 0x40], rdi
inc rsi
mov qword [r15 + 0x38], rsi
mov rsi, qword [r15 + 0x20]
cmp rsi, qword [r15 + 0x10]
jne 0x140021fc6
lea rcx, [r15 + 0x10]
call fcn.14002033c
mov r15, qword [rbp + 0xd80]
imul rcx, rsi, 0x270
add rcx, qword [r15 + 0x18]
lea rdx, [rbp + 0x1a8]
mov r8d, 0x270
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp + 0xd80]
inc rsi
mov qword [rcx + 0x20], rsi
mov rax, qword [rbp + 0xd00]
cmp rax, qword [rcx + 0x88]
jne 0x140022018
mov rax, qword [rcx + 0xa8]
inc rax
je 0x1400221c0
mov qword [rcx + 0xa8], rax
mov rax, qword [rbp + 0xd28]
mov qword [rax], 2
add rsp, 0xe28
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x1400220b4
mov al, byte [0x140030238]
push 0x30
pop rcx
call fcn.14001c300
test rax, rax
je 0x1400221ff
mov rbx, rax
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov rax, qword [rbp + 0xd40]
mov qword [rbx + 0x10], rax
mov rcx, qword [rbp + 0xd90]
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rax
mov byte [rbx + 0x28], 0
test r14, r14
je 0x140022094
push 2
pop rdx
mov rcx, r12
call fcn.1400099f0
push 0xffffffffffffffff
pop rax
xor r13d, r13d
cmp qword [rbp + 0xd78], 0
mov qword [rbp + 0xd48], rax
jne 0x1400214ef
jmp 0x1400214fe
mov edi, eax
test r14, r14
je 0x1400220c6
push 2
pop rdx
mov rcx, r12
call fcn.1400099f0
shl rdi, 0x20
cmp qword [rbp + 0xd78], 0
mov rsi, qword [rbp + 0xd90]
je 0x1400220ea
push 1
pop rdx
mov rcx, qword [rbp + 0xd88]
call fcn.1400099f0
or rdi, 2
push 1
pop rdx
mov rcx, rsi
call fcn.1400099f0
mov r12, rdi
jmp 0x1400212d7
lea rax, str.Index_out_of_bounds
lea rcx, [rbp + 0x6d0]
mov qword [rcx], rax
mov qword [rcx + 8], 1
mov qword [rcx + 0x10], 8
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
call fcn.140023310
lea r8, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slicemod.rs
mov rcx, r14
mov rdx, r14
call fcn.1400233c0
lea r8, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slicemod.rs
call fcn.1400233c0
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
push 0x2c
pop rdx
call fcn.1400234a0
lea rcx, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
call fcn.140023780
lea rcx, [0x14002a9f0]
call fcn.140023780
call fcn.140005a30
push 1
pop rcx
mov rdx, rdi
call fcn.140023230
mov byte [rbp + 0xd9f], 1
push 1
pop rcx
mov rdx, rdi
call fcn.140023230
jmp 0x140022218
lea r8, [0x14002aa08]
call fcn.1400233c0
mov rdx, qword [rbp + 0x6e0]
mov rcx, rax
call fcn.140023230
lea rcx, [0x14002aa20]
call fcn.140023780
lea rcx, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
call fcn.140023780
lea rcx, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
call fcn.140023780
mov qword [rbp + 0xd30], r14
mov qword [rbp + 0xd38], r12
push 8
pop rcx
push 0x30
pop rdx
call fcn.140023250
jmp 0x140022218
mov qword [rbp + 0xd30], r14
mov qword [rbp + 0xd38], r12
push 8
pop rcx
push 0x30
pop rdx
call fcn.140023250
ud2