Function at 0x140060c60
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 0x140060f50
movzx ebp, byte [rsp + 0x118]
mov rcx, r12
call fcn.1400acfa0
test bpl, bpl
je 0x140060dff
cmp eax, 0x47524159
jne 0x140060f48
lea rdx, [0x1400efdc0]
xor ecx, ecx
mov r8d, 0x978
call fcn.1400ad620
test rax, rax
je 0x140060f48
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, 0x3008a
mov r9, rax
call fcn.1400b0bb0
test rax, rax
je 0x140060f40
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x78], rax
test rbx, rbx
je 0x140061020
mov rax, rbx
shr rax, 0x3e
jne 0x1400612c2
lea rdx, [rbx + rbx]
movzx eax, byte [0x14019b098]
xor ecx, ecx
mov r13, rdx
call fcn.1400a8e60
test rax, rax
je 0x1400612c7
mov rbp, rax
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0
cmp rbx, 2
jb 0x140061074
lea r9, [rbx - 1]
mov ecx, 1
mov rax, rbp
cmp rbx, 0x11
jb 0x140060dda
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 0x140060dc0
cmp r9, rdx
je 0x140060dee
mov rdx, rbx
sub rdx, rcx
mov word [rax], 0
add rax, 2
dec rdx
jne 0x140060de0
test rbx, rbx
je 0x140061292
mov rbp, rax
jmp 0x140061077
cmp eax, 0x47524159
jne 0x140060f48
lea rdx, [0x1400efdc0]
xor ecx, ecx
mov r8d, 0x978
call fcn.1400ad620
test rax, rax
je 0x140060f48
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, 0x3008a
mov r9, rax
call fcn.1400b0bb0
movabs rsi, 0x8000000000000000
test rax, rax
mov qword [rsp + 0x80], r13
je 0x140061018
mov rbp, rax
test rbx, rbx
je 0x140061048
mov rax, rbx
shr rax, 0x3d
jne 0x1400612c2
lea rsi, [rbx*4]
movzx eax, byte [0x14019b098]
xor ecx, ecx
mov rdx, rsi
call fcn.1400a8e60
test rax, rax
je 0x1400612d4
mov r13, rax
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0
cmp rbx, 2
jb 0x140061138
lea r9, [rbx - 1]
mov ecx, 1
mov rax, r13
cmp rbx, 9
jb 0x140060f1a
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 0x140060f00
cmp r9, rdx
je 0x140060f2f
mov rdx, rbx
sub rdx, rcx
mov dword [rax], 0
add rax, 4
dec rdx
jne 0x140060f20
test rbx, rbx
je 0x14006129e
mov r13, rax
jmp 0x14006113b
mov rcx, r13
call fcn.1400acda0
mov rcx, r12
call fcn.1400acda0
test rbx, rbx
je 0x140060f89
mov rax, rbx
shr rax, 0x3d
jne 0x1400612c2
lea r13, [rbx*4]
movzx eax, byte [0x14019b098]
xor ecx, ecx
mov rdx, r13
call fcn.1400a8e60
test rax, rax
je 0x1400612c7
mov rbp, rax
jmp 0x140060f96
lea r13, [rbx*4]
mov ebp, 2
mov rcx, rbp
mov rdx, r14
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
test rdi, rdi
je 0x1400612aa
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.14004fa90
cmp r15, 2
jae 0x140060ffd
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 0x140061192
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 0x14006108f
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 0x140061155
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 0x140060f50
test rdi, rdi
je 0x1400612aa
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 0x140060fe9
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 0x140060f50
mov r10, qword [rsp + 0x70]
cmp rbx, r10
cmovae rbx, r10
test rbx, rbx
je 0x140061252
mov eax, ebx
and eax, 3
cmp rbx, 4
jae 0x1400611d9
xor ecx, ecx
jmp 0x14006121c
and rbx, 0xfffffffffffffffc
xor edx, edx
nop
movzx ecx, word [r14 + rdx*4 + 2]
mov word [r13 + rdx*4 + 2], cx
movzx ecx, word [r14 + rdx*4 + 6]
mov word [r13 + rdx*4 + 6], cx
movzx ecx, word [r14 + rdx*4 + 0xa]
mov word [r13 + rdx*4 + 0xa], cx
lea rcx, [rdx + 4]
movzx r8d, word [r14 + rdx*4 + 0xe]
mov word [r13 + rdx*4 + 0xe], r8w
mov rdx, rcx
cmp rbx, rcx
jne 0x1400611e0
test rax, rax
je 0x140061252
lea rdx, [rcx*4 + 2]
add rdx, r13
lea rcx, [r14 + rcx*4]
add rcx, 2
xor r8d, r8d
nop word [rax + rax]
movzx r9d, word [rcx + r8*4]
mov word [rdx + r8*4], r9w
inc r8
cmp rax, r8
jne 0x140061240
test rdi, rdi
je 0x1400612aa
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], r10
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 0x140060fe9
xor eax, eax
mov qword [rsp + 0x40], rax
jmp 0x14006108f
xor eax, eax
mov qword [rsp + 0x40], rax
jmp 0x140061155
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 ecx, 2
mov rdx, rsi
call fcn.1400daf80
int3