Function at 0x1400601f0
Capabilities:
Delete file

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov r15, r9
mov rbx, r8
mov r14, rdx
mov qword [rsp + 0x88], rcx
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x90], rax
mov rsi, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x108]
mov r12, qword [rsp + 0x100]
cmp r9, 1
jne 0x1400604e0
movzx ebp, byte [rsp + 0x118]
mov rcx, r12
call fcn.1400acfa0
test bpl, bpl
je 0x14006038f
cmp eax, 0x47524159
jne 0x1400604d8
lea rdx, [0x1400efdc0]
xor ecx, ecx
mov r8d, 0x978
call fcn.1400ad620
test rax, rax
je 0x1400604d8
mov r13, rax
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x3000a
xor ecx, ecx
mov rdx, r12
mov r8d, 0x30089
mov r9, rax
call fcn.1400b0bb0
test rax, rax
je 0x1400604d0
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x78], rax
test rbx, rbx
je 0x1400605a8
mov rax, rbx
shr rax, 0x3e
jne 0x14006087c
lea rdx, [rbx + rbx]
movzx eax, byte [0x14019b098]
xor ecx, ecx
mov r13, rdx
call fcn.1400a8e60
test rax, rax
je 0x14006088e
mov rbp, rax
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0
cmp rbx, 2
jb 0x1400605fc
lea r9, [rbx - 1]
mov ecx, 1
mov rax, rbp
cmp rbx, 0x11
jb 0x14006036a
mov rdx, r9
and rdx, 0xfffffffffffffff0
lea rax, [rdx*2]
add rax, rbp
lea rcx, [rdx + 1]
xor r8d, r8d
xorps xmm0, xmm0
nop dword [rax]
movups xmmword [rbp + r8*2], xmm0
movups xmmword [rbp + r8*2 + 0x10], xmm0
add r8, 0x10
cmp rdx, r8
jne 0x140060350
cmp r9, rdx
je 0x14006037e
mov rdx, rbx
sub rdx, rcx
mov word [rax], 0
add rax, 2
dec rdx
jne 0x140060370
test rbx, rbx
je 0x14006084c
mov rbp, rax
jmp 0x1400605ff
cmp eax, 0x47524159
jne 0x1400604d8
lea rdx, [0x1400efdc0]
xor ecx, ecx
mov r8d, 0x978
call fcn.1400ad620
test rax, rax
je 0x1400604d8
mov r13, rax
mov qword [rsp + 0x78], rsi
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x3008a
xor ecx, ecx
mov rdx, r12
mov r8d, 0x30089
mov r9, rax
call fcn.1400b0bb0
movabs rsi, 0x8000000000000000
test rax, rax
mov qword [rsp + 0x80], r13
je 0x1400605a0
mov rbp, rax
test rbx, rbx
je 0x1400605d0
mov rax, rbx
shr rax, 0x3d
jne 0x14006087c
lea rsi, [rbx*4]
movzx eax, byte [0x14019b098]
xor ecx, ecx
mov rdx, rsi
call fcn.1400a8e60
test rax, rax
je 0x14006089b
mov r13, rax
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0
cmp rbx, 2
jb 0x1400606c0
lea r9, [rbx - 1]
mov ecx, 1
mov rax, r13
cmp rbx, 9
jb 0x1400604aa
mov rdx, r9
and rdx, 0xfffffffffffffff8
lea rax, [rdx*4]
add rax, r13
lea rcx, [rdx + 1]
xor r8d, r8d
xorps xmm0, xmm0
nop
movups xmmword [r13 + r8*4], xmm0
movups xmmword [r13 + r8*4 + 0x10], xmm0
add r8, 8
cmp rdx, r8
jne 0x140060490
cmp r9, rdx
je 0x1400604bf
mov rdx, rbx
sub rdx, rcx
mov dword [rax], 0
add rax, 4
dec rdx
jne 0x1400604b0
test rbx, rbx
je 0x140060858
mov r13, rax
jmp 0x1400606c3
mov rcx, r13
call fcn.1400acda0
mov rcx, r12
call fcn.1400acda0
test rbx, rbx
je 0x140060515
mov rax, rbx
shr rax, 0x3e
jne 0x14006087c
lea r13, [rbx + rbx]
movzx eax, byte [0x14019b098]
xor ecx, ecx
mov rdx, r13
call fcn.1400a8e60
test rax, rax
je 0x140060881
mov rbp, rax
jmp 0x14006051e
lea r13, [rbx + rbx]
mov ebp, 1
mov rcx, rbp
mov rdx, r14
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
test rdi, rdi
je 0x140060864
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x6c], esi
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
call fcn.14004f910
cmp r15, 2
jae 0x140060585
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r12
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400acda0
mov rbp, rsi
jmp 0x14006071a
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], 0
mov ebp, 2
xor eax, eax
mov qword [rsp + 0x40], rax
xor r9d, r9d
jmp 0x140060617
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], 0
mov r13d, 2
xor eax, eax
mov qword [rsp + 0x40], rax
xor r9d, r9d
jmp 0x1400606dd
xor r9d, r9d
mov word [rbp], 0
inc r9
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
mov rbp, qword [rsp + 0x50]
cmp rbx, r9
mov qword [rsp + 0x70], r9
cmovb r9, rbx
mov eax, 0xffffffff
cmp r9, rax
cmovae r9, rax
mov r13, qword [rsp + 0x78]
mov rcx, r13
mov rdx, r14
mov r8, rbp
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
mov rcx, qword [rsp + 0x40]
cmp rcx, rax
je 0x1400604e0
test rdi, rdi
je 0x140060864
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rbp
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x6c], esi
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
call fcn.14004f790
jmp 0x140060571
xor r9d, r9d
mov dword [r13], 0
inc r9
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
mov r13, qword [rsp + 0x50]
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 + 0x40]
mov rcx, qword [rsp + 0x80]
call fcn.1400acda0
mov rcx, r12
call fcn.1400acda0
cmp rbp, rsi
mov rsi, qword [rsp + 0x78]
je 0x1400604e0
mov r11, qword [rsp + 0x70]
cmp rbx, r11
cmovae rbx, r11
test rbx, rbx
je 0x14006080c
mov eax, ebx
and eax, 3
cmp rbx, 4
jae 0x140060761
xor edx, edx
jmp 0x1400607d4
and rbx, 0xfffffffffffffffc
xor ecx, ecx
nop word [rax + rax]
movzx edx, byte [r14 + rcx*2 + 1]
mov r8d, edx
shl r8d, 8
or r8d, edx
mov word [r13 + rcx*4 + 2], r8w
movzx edx, byte [r14 + rcx*2 + 3]
mov r8d, edx
shl r8d, 8
or r8d, edx
mov word [r13 + rcx*4 + 6], r8w
movzx edx, byte [r14 + rcx*2 + 5]
mov r8d, edx
shl r8d, 8
or r8d, edx
mov word [r13 + rcx*4 + 0xa], r8w
lea rdx, [rcx + 4]
movzx r8d, byte [r14 + rcx*2 + 7]
mov r9d, r8d
shl r9d, 8
or r9d, r8d
mov word [r13 + rcx*4 + 0xe], r9w
mov rcx, rdx
cmp rbx, rdx
jne 0x140060770
test rax, rax
je 0x14006080c
lea rcx, [rdx*4 + 2]
add rcx, r13
lea rdx, [r14 + rdx*2]
inc rdx
xor r8d, r8d
nop
movzx r9d, byte [rdx + r8*2]
mov r10d, r9d
shl r10d, 8
or r10d, r9d
mov word [rcx + r8*4], r10w
inc r8
cmp rax, r8
jne 0x1400607f0
test rdi, rdi
je 0x140060864
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x6c], esi
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
call fcn.14004fa90
jmp 0x140060571
xor eax, eax
mov qword [rsp + 0x40], rax
jmp 0x140060617
xor eax, eax
mov qword [rsp + 0x40], rax
jmp 0x1400606dd
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 ecx, 2
mov rdx, r13
call fcn.1400daf80
mov ecx, 2
mov rdx, rsi
call fcn.1400daf80
int3