Function at 0x1400617d0
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 + 0x88], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x80], rax
mov rdi, qword [rsp + 0x128]
mov r12, qword [rsp + 0x120]
cmp r9, 1
jne 0x140061b11
movzx ebp, byte [rsp + 0x138]
mov rcx, r12
call fcn.1400acfa0
test bpl, bpl
je 0x1400619c6
cmp eax, 0x52474220
jne 0x140061b09
xor ecx, ecx
call fcn.1400b13f0
test rax, rax
je 0x140061ee2
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, 0x4009a
mov r9, rax
call fcn.1400b0bb0
test rax, rax
je 0x140061b01
mov qword [rsp + 0x70], rax
test rbx, rbx
mov qword [rsp + 0x78], r13
je 0x140061be4
movabs rax, 0x1555555555555555
cmp rbx, rax
ja 0x140061ed0
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 0x140061ed5
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0
cmp rbx, 2
jb 0x140061c33
lea r9, [rbx - 1]
lea rdx, [rbx - 2]
mov r8d, r9d
and r8d, 7
mov rcx, rax
cmp rdx, 7
jb 0x140061991
mov rdx, r9
and rdx, 0xfffffffffffffff8
mov rcx, rax
nop
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 0x140061920
test r8, r8
je 0x1400619b5
nop word cs:[rax + rax]
mov word [rcx + 4], 0
mov dword [rcx], 0
add rcx, 6
dec r8
jne 0x1400619a0
test rbx, rbx
je 0x140061ea5
mov rax, rcx
jmp 0x140061c36
cmp eax, 0x52474220
jne 0x140061b09
mov qword [rsp + 0x78], rsi
xor ecx, ecx
call fcn.1400b13f0
test rax, rax
je 0x140061ee2
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, 0x4009a
mov r9, rax
call fcn.1400b0bb0
movabs rsi, 0x8000000000000000
test rax, rax
mov qword [rsp + 0x70], r13
je 0x140061bdc
mov qword [rsp + 0x68], rax
test rbx, rbx
je 0x140061c07
mov rax, rbx
shr rax, 0x3c
jne 0x140061ed0
lea rbp, [rbx*8]
movzx eax, byte [0x14019b098]
xor ecx, ecx
mov rdx, rbp
call fcn.1400a8e60
test rax, rax
je 0x140061f10
mov r13, rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0
cmp rbx, 2
jb 0x140061d36
lea r9, [rbx - 1]
mov ecx, 1
mov rax, r13
cmp rbx, 5
jb 0x140061ada
mov rdx, r9
and rdx, 0xfffffffffffffffc
lea rax, [rdx*8]
add rax, r13
lea rcx, [rdx + 1]
xor r8d, r8d
xorps xmm0, xmm0
nop word [rax + rax]
movups xmmword [r13 + r8*8], xmm0
movups xmmword [r13 + r8*8 + 0x10], xmm0
add r8, 4
cmp rdx, r8
jne 0x140061ac0
cmp r9, rdx
je 0x140061af0
mov rdx, rbx
sub rdx, rcx
mov qword [rax], 0
add rax, 8
dec rdx
jne 0x140061ae0
test rbx, rbx
je 0x140061eac
mov r13, rax
jmp 0x140061d39
mov rcx, r13
call fcn.1400acda0
mov rcx, r12
call fcn.1400acda0
test rbx, rbx
je 0x140061b4a
mov rax, rbx
shr rax, 0x3c
jne 0x140061ed0
lea r13, [rbx*8]
movzx eax, byte [0x14019b098]
xor ecx, ecx
mov rdx, r13
call fcn.1400a8e60
test rax, rax
je 0x140061ed5
mov rbp, rax
jmp 0x140061b57
lea r13, [rbx*8]
mov ebp, 2
mov rcx, rbp
mov rdx, r14
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
test rdi, rdi
je 0x140061eb8
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x58], edi
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x5c], eax
lea rdx, [rsp + 0x38]
mov rcx, rsi
mov r8, qword [rsp + 0x88]
call fcn.14004f4b0
cmp r15, 2
jae 0x140061bc1
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 0x140061d98
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x48], 0
mov eax, 2
xor ebp, ebp
xor r9d, r9d
jmp 0x140061c4f
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x48], 0
mov r13d, 2
xor eax, eax
mov qword [rsp + 0x60], rax
xor r9d, r9d
jmp 0x140061d53
xor r9d, r9d
mov word [rax], 0
mov dword [rax + 2], 0
inc r9
mov rbp, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
cmp rbx, r9
mov qword [rsp + 0x68], r9
cmovb r9, rbx
mov ecx, 0xffffffff
cmp r9, rcx
cmovae r9, rcx
mov r13, qword [rsp + 0x70]
mov rcx, r13
mov rdx, r14
mov qword [rsp + 0x60], rax
mov r8, rax
call fcn.1400b0ca0
mov rcx, r13
call fcn.1400b0c10
mov rcx, qword [rsp + 0x78]
call fcn.1400acda0
mov rcx, r12
call fcn.1400acda0
movabs rax, 0x8000000000000000
cmp rbp, rax
je 0x140061b11
test rdi, rdi
je 0x140061eb8
mov qword [rsp + 0x38], rbp
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x58], edi
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x5c], eax
lea rcx, [rsp + 0x98]
lea rdx, [rsp + 0x38]
call fcn.140069790
movups xmm0, xmmword [rsp + 0xa8]
mov rax, qword [rsp + 0x48]
mov qword [rsi + 0x18], rax
movups xmm1, xmmword [rsp + 0x38]
movups xmmword [rsi + 8], xmm1
movups xmmword [rsi + 0x40], xmm0
mov rax, qword [rsp + 0x88]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm1
mov qword [rsi], 2
jmp 0x140061bad
xor r9d, r9d
mov qword [r13], 0
inc r9
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov r13, qword [rsp + 0x40]
cmp rbx, r9
mov qword [rsp + 0x90], r9
cmovb r9, rbx
mov eax, 0xffffffff
cmp r9, rax
cmovae r9, rax
mov rbp, qword [rsp + 0x68]
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 + 0x60]
mov rcx, qword [rsp + 0x70]
call fcn.1400acda0
mov rcx, r12
call fcn.1400acda0
cmp rbp, rsi
mov rsi, qword [rsp + 0x78]
je 0x140061b11
mov r10, qword [rsp + 0x90]
cmp rbx, r10
cmovae rbx, r10
test rbx, rbx
je 0x140061e62
mov eax, ebx
and eax, 3
cmp rbx, 4
jae 0x140061ddf
xor ecx, ecx
jmp 0x140061e2c
and rbx, 0xfffffffffffffffc
xor edx, edx
nop word cs:[rax + rax]
movzx ecx, word [r14 + rdx*8 + 6]
mov word [r13 + rdx*8 + 6], cx
movzx ecx, word [r14 + rdx*8 + 0xe]
mov word [r13 + rdx*8 + 0xe], cx
movzx ecx, word [r14 + rdx*8 + 0x16]
mov word [r13 + rdx*8 + 0x16], cx
lea rcx, [rdx + 4]
movzx r8d, word [r14 + rdx*8 + 0x1e]
mov word [r13 + rdx*8 + 0x1e], r8w
mov rdx, rcx
cmp rbx, rcx
jne 0x140061df0
test rax, rax
je 0x140061e62
lea rdx, [rcx*8 + 6]
add rdx, r13
lea rcx, [r14 + rcx*8]
add rcx, 6
xor r8d, r8d
nop word [rax + rax]
movzx r9d, word [rcx + r8*8]
mov word [rdx + r8*8], r9w
inc r8
cmp rax, r8
jne 0x140061e50
test rdi, rdi
je 0x140061eb8
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x58], edi
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x5c], eax
lea rdx, [rsp + 0x38]
mov rcx, rsi
mov r8, qword [rsp + 0x88]
call fcn.14004f4b0
jmp 0x140061bad
xor ebp, ebp
jmp 0x140061c4f
xor eax, eax
mov qword [rsp + 0x60], rax
jmp 0x140061d53
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, 2
mov rdx, r13
call fcn.1400daf80
mov byte [rsp + 0x38], 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 + 0x38]
mov edx, 0x2b
call fcn.1400db5b0
mov ecx, 2
mov rdx, rbp
call fcn.1400daf80
int3