Function at 0x14001f84e
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 0x1400209f4
mov rdi, r9
mov qword [rbp + 0xd00], rax
cmp rax, qword [r15 + 0x88]
mov qword [rbp + 0xd80], r15
mov qword [rbp + 0xd68], r8
jne 0x14001f9f2
cmp rdx, rcx
jbe 0x140020a24
mov rbx, qword [r15 + 0x18]
imul rax, rcx, 0x270
cmp dword [rbx + rax + 0x10], 3
je 0x14001f9f2
mov r13, rdi
add rbx, rax
lea rsi, [rbp + 0x9c0]
mov rcx, rsi
mov rdx, rbx
call fcn.14001de42
cmp dword [rsi], 3
jne 0x14001f903
push 8
pop r14
xor edi, edi
xor esi, esi
jmp 0x14001f9bb
lea rsi, [rbp + 0x6d0]
mov rcx, rsi
call fcn.14001deec
cmp qword [rsi], 0
mov rax, qword [rsi + 8]
jne 0x140020a30
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.14001de42
cmp dword [rbp + 0x6d0], 3
je 0x14001f9a8
cmp rdi, qword [rbp + 0x418]
jne 0x14001f986
mov rcx, rsi
call fcn.14001df34
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 0x14001f95a
lea rcx, [rbp + 0x6d0]
call fcn.14001df2a
mov rsi, qword [rbp + 0x418]
shl rdi, 7
add rdi, r14
mov rcx, rbx
call fcn.14001e5f1
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 0x14001fb66
js 0x140020a00
mov al, byte [0x14002d1f8]
mov rcx, rdi
call fcn.14001ab60
test rax, rax
je 0x140020a05
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 [0x14002d1f8]
mov rcx, rdi
call fcn.14001ab60
test rax, rax
je 0x140020a10
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 case.0x140018fe1.51
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.1400178d0
mov rax, qword [rbp + 0x418]
mov r12, qword [rbp + 0x420]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x14001fb2b
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.140019120
mov r14, qword [rbp + 0xc30]
mov r12, qword [rbp + 0xc38]
movabs rax, 0x8000000000000000
cmp r14, rax
jne 0x14001fcc1
mov rsi, qword [rbp + 0xd90]
cmp qword [rbp + 0xd78], 0
je 0x14001fb4b
push 1
pop rdx
mov rcx, qword [rbp + 0xd88]
call fcn.140004600
push 1
pop rdx
mov rcx, rsi
call fcn.140004600
mov r15, qword [rbp + 0xd80]
mov r8, qword [rbp + 0xd68]
jmp 0x14001fb70
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.14001aae0
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 0x1400206ab
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 0x14001fc63
cmp eax, 3
jne 0x14001fc86
mov rsi, qword [rbp + 0x9e0]
cmp rsi, qword [rbp + 0x9f0]
je 0x14001fe16
lea rax, [rsi + 0x80]
mov qword [rbp + 0x9e0], rax
push 0x10
pop rcx
lea rdi, [rbp + 0x940]
rep movsq qword [rdi], qword [rsi]
jmp 0x14001fcb5
mov rax, qword [rbp + 0x9d8]
mov qword [rbp + 0x9d8], 2
cmp rax, 2
jne 0x14001fdee
push 3
jmp 0x14001fe08
lea rdx, [rbp + 0x9c0]
mov rsi, qword [rdx + 0x268]
lea rdi, [rbp + 0x6d0]
mov rcx, rdi
call fcn.1400197f0
lea rcx, [rbp + 0x940]
mov rdx, rdi
mov r8, rsi
call fcn.14001e0c2
mov rax, qword [rbp + 0x940]
jmp 0x14001fe10
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 0x1400208b9
mov rdi, rax
mov al, byte [0x14002d1f8]
push 0x30
pop rcx
call fcn.14001ab60
test rax, rax
mov qword [rbp + 0xd48], rdi
je 0x140020a63
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 0x14001fd60
push 2
pop rdx
mov rcx, r12
call fcn.140004600
push 1
pop r13
cmp qword [rbp + 0xd78], 0
je 0x14001fd7d
push 1
pop rdx
mov rcx, qword [rbp + 0xd88]
call fcn.140004600
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 0x14001fbb7
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 0x14001fe44
push 8
pop r13
lea rsi, [rbp + 0x9c0]
mov rcx, rsi
call fcn.14001e5f1
lea rax, [rbp + 0xd10]
mov qword [rsi], rax
xor esi, esi
xor r12d, r12d
mov r15, qword [rbp + 0xd80]
jmp 0x14002067e
lea rsi, [rbp + 0x6d0]
mov rcx, rsi
call fcn.14001deec
cmp qword [rsi], 0
mov rax, qword [rsi + 8]
jne 0x140020a30
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 0x14001ff09
cmp eax, 3
jne 0x14001ff4b
mov rsi, qword [rbp + 0x6f0]
cmp rsi, qword [rbp + 0x700]
je 0x14001ffd8
lea rax, [rsi + 0x80]
mov qword [rbp + 0x6f0], rax
push 0x10
pop rcx
mov rdi, r15
rep movsq qword [rdi], qword [rsi]
jmp 0x14001ff6b
mov rcx, qword [rbp + 0x6e8]
mov qword [rbp + 0x6e8], 2
push 3
pop rax
cmp rcx, 2
je 0x14001ff42
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 0x14001ff72
mov rsi, qword [rbp + 0x938]
mov rcx, r12
mov rdx, rbx
call fcn.1400197f0
mov rcx, r15
mov rdx, r12
mov r8, rsi
call fcn.14001e0c2
mov rax, qword [rbp + 0xc30]
cmp rax, 3
je 0x14001ffe3
mov rax, qword [rbp + 0xd90]
cmp rax, qword [rbp + 0xce0]
jne 0x14001ff9e
mov rcx, r14
call fcn.14001df34
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 0x14001fecc
mov qword [rbp + 0xc30], 3
lea rcx, [rbp + 0xc30]
call fcn.14001df2a
lea rcx, [rbp + 0x6d0]
call fcn.14001e5f1
mov rsi, qword [rbp + 0xce0]
lea rax, [rbp + 0xd10]
mov qword [rbp + 0x9c0], rax
mov r12, qword [rbp + 0xd90]
cmp r12, 0x15
jae 0x140020049
cmp r12, 1
mov r13, qword [rbp + 0xd60]
jbe 0x14001fe38
push 1
pop r8
lea r9, [rbp + 0x9c0]
mov rcx, r13
mov rdx, r12
call fcn.14001e99c
jmp 0x14001fe38
mov rax, r12
shl rax, 6
movabs rcx, 0x7fffffffffffff80
and rcx, rax
call fcn.14001e0b7
test rax, rax
mov r13, qword [rbp + 0xd60]
je 0x140020a4b
mov r14, rax
mov qword [rbp + 0xd08], rsi
mov ecx, 0x100
call fcn.14001e0b7
test rax, rax
je 0x140020a57
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 0x140020657
cmp rdi, 2
mov qword [rbp + 0xd88], rcx
jb 0x1400202a2
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.14001eada
test al, al
je 0x14002013e
add rbx, qword [rbp + 0xd20]
push 2
pop r15
cmp rdi, r15
je 0x140020185
lea r14, [rbx + 0x80]
lea rcx, [rbp + 0x9c0]
mov rdx, r14
mov r8, rbx
call fcn.14001eada
test al, al
je 0x140020182
inc r15
mov rbx, r14
jmp 0x140020114
add rbx, qword [rbp + 0xd20]
push 2
pop r15
cmp rdi, r15
je 0x14002028d
lea r14, [rbx + 0x80]
lea rcx, [rbp + 0x9c0]
mov rdx, r14
mov r8, rbx
call fcn.14001eada
test al, al
jne 0x140020283
inc r15
mov rbx, r14
mov r14, qword [rbp + 0xd70]
jmp 0x140020149
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.14001e963
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.14001e963
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.14001e963
add rax, r13
add rax, 0xffffffffffffff80
xor r8d, r8d
cmp r8, rbx
je 0x140020254
cmp r8, r14
je 0x1400209b4
mov rcx, r8
not rcx
add rcx, rbx
cmp rcx, rdx
jae 0x1400209c6
xor ecx, ecx
cmp rcx, 0x10
je 0x140020247
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 0x14002022c
inc r8
add rax, 0xffffffffffffff80
sub r15, 0xffffffffffffff80
jmp 0x14002020a
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 0x1400202a6
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 0x1400209d2
cmp rax, r12
ja 0x1400209d2
jae 0x140020309
cmp rdi, 9
ja 0x140020309
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.14001e963
mov rcx, rax
mov r8, rdi
lea r9, [rbp + 0x9c0]
call fcn.14001e99c
mov rcx, qword [rbp + 0xd88]
mov rax, rsi
mov rsi, qword [rbp + 0xd18]
cmp rbx, rsi
mov qword [rbp + 0xd58], rax
jne 0x14002036c
mov rcx, rsi
shl rcx, 5
call fcn.14001e0b7
test rax, rax
je 0x1400209e8
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.140004600
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 0x140020635
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 0x1400203f4
mov r10, qword [rcx + r15 - 0x20]
cmp r10, rax
jbe 0x1400203f4
cmp rbx, 2
je 0x140020635
lea r8, [rbx - 3]
mov rdx, r8
shl rdx, 4
mov rdx, qword [r15 + rdx]
lea r9, [r10 + rax]
cmp rdx, r9
jbe 0x14002040e
cmp rbx, 3
jbe 0x140020635
mov r12, r13
add r10, rdx
cmp qword [rcx + r15 - 0x40], r10
jbe 0x140020411
jmp 0x140020641
mov r12, r13
cmp rbx, 2
je 0x140020416
lea r8, [rbx - 3]
mov rcx, r8
shl rcx, 4
mov rdx, qword [r15 + rcx]
jmp 0x140020411
mov r12, r13
cmp rdx, rax
jb 0x14002041a
lea r8, [rbx - 2]
mov rcx, r15
mov rdx, rbx
lea r9, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
mov rsi, r8
call fcn.14001e7bf
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.14001e7bf
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.14001e963
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 0x140020539
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 0x140020531
cmp rbx, r14
jbe 0x140020531
lea rdx, [rbx - 0x80]
lea r8, [r12 - 0x80]
lea rcx, [rbp + 0x9c0]
call fcn.14001eada
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 0x1400204e8
mov r15, r12
mov r13, r14
jmp 0x1400205a5
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 0x14002059e
cmp r12, r14
jae 0x14002059e
lea rcx, [rbp + 0x9c0]
mov rdx, r12
mov r8, r13
call fcn.14001eada
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 0x140020554
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 0x140020980
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 0x140020389
mov rcx, qword [rbp + 0xd58]
jmp 0x1400200bc
mov rcx, qword [rbp + 0xd58]
mov r13, r12
mov r12, qword [rbp + 0xd90]
jmp 0x1400200bc
push 8
pop rsi
mov rcx, r15
mov rdx, rsi
call fcn.140004600
mov rcx, r14
mov rdx, rsi
call fcn.140004600
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 0x14002082b
mov rcx, qword [rbp + 0xd68]
mov r15, qword [rbp + 0xd40]
mov rdx, r15
call fcn.14001e6d0
mov rsi, rdx
test rax, rax
jne 0x140020708
lea rdx, [rbp + 0x418]
mov qword [rdx], rsi
lea rdi, [rbp + 0x9c0]
mov rcx, rdi
call fcn.140012c44
cmp dword [rdi], 0
je 0x140020748
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.14001e5f1
jmp 0x1400208a5
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.14001aae0
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 0x1400207e6
lea rcx, [r15 + 0x28]
call fcn.14001ec72
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 0x140020845
lea rcx, [r15 + 0x10]
call fcn.14001ebbb
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 0x140020897
mov rax, qword [rcx + 0xa8]
inc rax
je 0x140020a3f
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 0x140020933
mov al, byte [0x14002d1f8]
push 0x30
pop rcx
call fcn.14001ab60
test rax, rax
je 0x140020a7e
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 0x140020913
push 2
pop rdx
mov rcx, r12
call fcn.140004600
push 0xffffffffffffffff
pop rax
xor r13d, r13d
cmp qword [rbp + 0xd78], 0
mov qword [rbp + 0xd48], rax
jne 0x14001fd6e
jmp 0x14001fd7d
mov edi, eax
test r14, r14
je 0x140020945
push 2
pop rdx
mov rcx, r12
call fcn.140004600
shl rdi, 0x20
cmp qword [rbp + 0xd78], 0
mov rsi, qword [rbp + 0xd90]
je 0x140020969
push 1
pop rdx
mov rcx, qword [rbp + 0xd88]
call fcn.140004600
or rdi, 2
push 1
pop rdx
mov rcx, rsi
call fcn.140004600
mov r12, rdi
jmp 0x14001fb56
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.140021b90
lea r8, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slicemod.rs
mov rcx, r14
mov rdx, r14
call fcn.140021c40
lea r8, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slicemod.rs
call fcn.140021c40
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
push 0x2c
pop rdx
call fcn.140021d20
lea rcx, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
call fcn.140022000
lea rcx, [0x140027ea0]
call fcn.140022000
call fcn.140005090
push 1
pop rcx
mov rdx, rdi
call fcn.140021ab0
mov byte [rbp + 0xd9f], 1
push 1
pop rcx
mov rdx, rdi
call fcn.140021ab0
jmp 0x140020a97
lea r8, [0x140027eb8]
call fcn.140021c40
mov rdx, qword [rbp + 0x6e0]
mov rcx, rax
call fcn.140021ab0
lea rcx, [0x140027ed0]
call fcn.140022000
lea rcx, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
call fcn.140022000
lea rcx, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9librarycore_src_slice_sort.rs
call fcn.140022000
mov qword [rbp + 0xd30], r14
mov qword [rbp + 0xd38], r12
push 8
pop rcx
push 0x30
pop rdx
call fcn.140021ad0
jmp 0x140020a97
mov qword [rbp + 0xd30], r14
mov qword [rbp + 0xd38], r12
push 8
pop rcx
push 0x30
pop rdx
call fcn.140021ad0
ud2