Function at 0x140061f20
Capabilities:
Delete file

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov r15, r9
mov rbx, r8
mov r14, rdx
mov rsi, rcx
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x88], rax
mov rdi, qword [rsp + 0x128]
mov r12, qword [rsp + 0x120]
cmp r9, 1
jne 0x140062271
movzx ebp, byte [rsp + 0x138]
mov rcx, r12
call fcn.1400acfa0
test bpl, bpl
je 0x140062126
cmp eax, 0x52474220
jne 0x140062269
xor ecx, ecx
call fcn.1400b13f0
test rax, rax
je 0x14006265c
mov r13, rax
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x4001a
xor ecx, ecx
mov rdx, r12
mov r8d, 0x40099
mov r9, rax
call fcn.1400b0bb0
test rax, rax
je 0x140062261
mov qword [rsp + 0x78], rax
test rbx, rbx
mov qword [rsp + 0x80], r13
je 0x140062344
movabs rax, 0x1555555555555555
cmp rbx, rax
ja 0x14006264a
lea rax, [rbx + rbx]
lea r13, [rax + rax*2]
movzx eax, byte [0x14019b098]
xor ecx, ecx
mov rdx, r13
call fcn.1400a8e60
test rax, rax
je 0x14006268a
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0
cmp rbx, 2
jb 0x140062393
lea r9, [rbx - 1]
lea rdx, [rbx - 2]
mov r8d, r9d
and r8d, 7
mov rcx, rax
cmp rdx, 7
jb 0x1400620f1
mov rdx, r9
and rdx, 0xfffffffffffffff8
mov rcx, rax
nop word cs:[rax + rax]
mov word [rcx + 4], 0
mov dword [rcx], 0
mov word [rcx + 0xa], 0
mov dword [rcx + 6], 0
mov word [rcx + 0x10], 0
mov dword [rcx + 0xc], 0
mov word [rcx + 0x16], 0
mov dword [rcx + 0x12], 0
mov word [rcx + 0x1c], 0
mov dword [rcx + 0x18], 0
mov word [rcx + 0x22], 0
mov dword [rcx + 0x1e], 0
mov word [rcx + 0x28], 0
mov dword [rcx + 0x24], 0
mov word [rcx + 0x2e], 0
mov dword [rcx + 0x2a], 0
add rcx, 0x30
add rdx, 0xfffffffffffffff8
jne 0x140062080
test r8, r8
je 0x140062115
nop word cs:[rax + rax]
mov word [rcx + 4], 0
mov dword [rcx], 0
add rcx, 6
dec r8
jne 0x140062100
test rbx, rbx
je 0x14006261f
mov rax, rcx
jmp 0x140062396
cmp eax, 0x52474220
jne 0x140062269
mov qword [rsp + 0x80], rsi
xor ecx, ecx
call fcn.1400b13f0
test rax, rax
je 0x14006265c
mov r13, rax
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x4009a
xor ecx, ecx
mov rdx, r12
mov r8d, 0x40099
mov r9, rax
call fcn.1400b0bb0
movabs rsi, 0x8000000000000000
test rax, rax
mov qword [rsp + 0x78], r13
je 0x14006233c
mov rbp, rax
test rbx, rbx
je 0x140062367
mov rax, rbx
shr rax, 0x3c
jne 0x14006264a
mov rsi, rbp
lea rbp, [rbx*8]
movzx eax, byte [0x14019b098]
xor ecx, ecx
mov rdx, rbp
call fcn.1400a8e60
test rax, rax
je 0x140062697
mov r13, rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0
cmp rbx, 2
mov rbp, rsi
jb 0x140062499
lea r9, [rbx - 1]
mov ecx, 1
mov rax, r13
cmp rbx, 5
jb 0x14006223a
mov rdx, r9
and rdx, 0xfffffffffffffffc
lea rax, [rdx*8]
add rax, r13
lea rcx, [rdx + 1]
xor r8d, r8d
xorps xmm0, xmm0
nop
movups xmmword [r13 + r8*8], xmm0
movups xmmword [r13 + r8*8 + 0x10], xmm0
add r8, 4
cmp rdx, r8
jne 0x140062220
cmp r9, rdx
je 0x140062250
mov rdx, rbx
sub rdx, rcx
mov qword [rax], 0
add rax, 8
dec rdx
jne 0x140062240
test rbx, rbx
je 0x140062626
mov r13, rax
jmp 0x14006249c
mov rcx, r13
call fcn.1400acda0
mov rcx, r12
call fcn.1400acda0
test rbx, rbx
je 0x1400622aa
mov rax, rbx
shr rax, 0x3d
jne 0x14006264a
lea r13, [rbx*4]
movzx eax, byte [0x14019b098]
xor ecx, ecx
mov rdx, r13
call fcn.1400a8e60
test rax, rax
je 0x14006264f
mov rbp, rax
jmp 0x1400622b7
lea r13, [rbx*4]
mov ebp, 1
mov rcx, rbp
mov rdx, r14
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
test rdi, rdi
je 0x140062632
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x60], edi
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x64], eax
lea rdx, [rsp + 0x40]
mov rcx, rsi
mov r8, qword [rsp + 0x90]
call fcn.14004f330
cmp r15, 2
jae 0x140062321
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r12
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400acda0
mov rbp, rsi
jmp 0x1400624f3
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 2
mov qword [rsp + 0x50], 0
mov eax, 2
xor ebp, ebp
xor r9d, r9d
jmp 0x1400623af
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 2
mov qword [rsp + 0x50], 0
mov r13d, 2
xor eax, eax
mov qword [rsp + 0x68], rax
xor r9d, r9d
jmp 0x1400624b6
xor r9d, r9d
mov word [rax], 0
mov dword [rax + 2], 0
inc r9
mov rbp, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
cmp rbx, r9
mov qword [rsp + 0x68], r9
cmovb r9, rbx
mov ecx, 0xffffffff
cmp r9, rcx
cmovae r9, rcx
mov r13, qword [rsp + 0x78]
mov rcx, r13
mov rdx, r14
mov qword [rsp + 0x70], rax
mov r8, rax
call fcn.1400b0ca0
mov rcx, r13
call fcn.1400b0c10
mov rcx, qword [rsp + 0x80]
call fcn.1400acda0
mov rcx, r12
call fcn.1400acda0
movabs rax, 0x8000000000000000
cmp rbp, rax
je 0x140062271
test rdi, rdi
je 0x140062632
mov qword [rsp + 0x40], rbp
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x60], edi
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x64], eax
lea rcx, [rsp + 0x98]
lea rdx, [rsp + 0x40]
call fcn.140069790
movups xmm0, xmmword [rsp + 0xa8]
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x18], rax
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rsi + 8], xmm1
movups xmmword [rsi + 0x40], xmm0
mov rax, qword [rsp + 0x90]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm1
mov qword [rsi], 2
jmp 0x14006230d
xor r9d, r9d
mov qword [r13], 0
inc r9
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
mov r13, qword [rsp + 0x48]
cmp rbx, r9
mov qword [rsp + 0x70], r9
cmovb r9, rbx
mov eax, 0xffffffff
cmp r9, rax
cmovae r9, rax
mov rcx, rbp
mov rdx, r14
mov r8, r13
call fcn.1400b0ca0
mov rcx, rbp
call fcn.1400b0c10
movabs rsi, 0x8000000000000000
mov rbp, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
call fcn.1400acda0
mov rcx, r12
call fcn.1400acda0
cmp rbp, rsi
mov rsi, qword [rsp + 0x80]
je 0x140062271
mov r11, qword [rsp + 0x70]
cmp rbx, r11
cmovae rbx, r11
test rbx, rbx
je 0x1400625dc
mov eax, ebx
and eax, 3
cmp rbx, 4
jae 0x14006253a
xor edx, edx
jmp 0x1400625a4
and rbx, 0xfffffffffffffffc
xor ecx, ecx
movzx edx, byte [r14 + rcx*4 + 3]
mov r8d, edx
shl r8d, 8
or r8d, edx
mov word [r13 + rcx*8 + 6], r8w
movzx edx, byte [r14 + rcx*4 + 7]
mov r8d, edx
shl r8d, 8
or r8d, edx
mov word [r13 + rcx*8 + 0xe], r8w
movzx edx, byte [r14 + rcx*4 + 0xb]
mov r8d, edx
shl r8d, 8
or r8d, edx
mov word [r13 + rcx*8 + 0x16], r8w
lea rdx, [rcx + 4]
movzx r8d, byte [r14 + rcx*4 + 0xf]
mov r9d, r8d
shl r9d, 8
or r9d, r8d
mov word [r13 + rcx*8 + 0x1e], r9w
mov rcx, rdx
cmp rbx, rdx
jne 0x140062540
test rax, rax
je 0x1400625dc
lea rcx, [rdx*8 + 6]
add rcx, r13
lea rdx, [r14 + rdx*4]
add rdx, 3
xor r8d, r8d
nop
movzx r9d, byte [rdx + r8*4]
mov r10d, r9d
shl r10d, 8
or r10d, r9d
mov word [rcx + r8*8], r10w
inc r8
cmp rax, r8
jne 0x1400625c0
test rdi, rdi
je 0x140062632
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x60], edi
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x64], eax
lea rdx, [rsp + 0x40]
mov rcx, rsi
mov r8, qword [rsp + 0x90]
call fcn.14004f4b0
jmp 0x14006230d
xor ebp, ebp
jmp 0x1400623af
xor eax, eax
mov qword [rsp + 0x68], rax
jmp 0x1400624b6
lea rcx, str.assertion_failed:_stride___0F:Compilers_Stuff.cargo_registry_srcindex.crates.io_6f17d22bba15001fimgref_1.10.0_srclib.rs
lea r8, [0x1400f0f40]
mov edx, 0x1c
call fcn.1400db290
call fcn.140002630
mov ecx, 1
mov rdx, r13
call fcn.1400daf80
mov byte [rsp + 0x40], 0
lea rax, [0x1400f0df0]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x1400f0738]
lea r8, [rsp + 0x40]
mov edx, 0x2b
call fcn.1400db5b0
mov ecx, 2
mov rdx, r13
call fcn.1400daf80
mov ecx, 2
mov rdx, rbp
call fcn.1400daf80
int3