Function at 0x140002490
Capabilities:
Delete file

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov rax, qword [0x140011040]
xor rax, rsp
mov qword [rsp + 0xc8], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
mov ebp, 1
cmp ecx, 3
jl 0x1400029b9
mov ebx, ecx
mov eax, ecx
and eax, 1
je 0x1400029b9
mov rdi, rdx
mov r14d, 1
xorps xmm6, xmm6
lea r15, [rsp + 0x40]
lea r12, [rsp + 0x80]
jmp 0x14000252c
add rax, 0x28
mov rdx, rax
mov rcx, r8
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
add r14, 2
cmp r14d, ebx
jge 0x140002836
mov rsi, qword [rdi + r14*8 + 8]
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x1400029f1
mov rbp, rax
cmp rax, 0xf
ja 0x140002580
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], 0xf
lea rcx, [rsp + 0x60]
mov rdx, rsi
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
add rbp, rsp
add rbp, 0x60
jmp 0x1400025f1
mov rax, rbp
or rax, 0xf
cmp rax, 0x17
mov r15d, 0x16
cmovae r15, rax
cmp rax, 0xfff
jb 0x1400025c0
lea rcx, [r15 + 0x28]
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
lea r13, [rax + 0x27]
and r13, 0xffffffffffffffe0
mov qword [r13 - 8], rax
jmp 0x1400025cc
lea rcx, [r15 + 1]
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov r13, rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], r15
mov rcx, r13
mov rdx, rsi
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
add rbp, r13
lea r15, [rsp + 0x40]
mov byte [rbp], 0
mov rsi, qword [rdi + r14*8]
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x1400029f1
mov rbp, rax
cmp rax, 0xf
ja 0x140002650
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], 0xf
mov rcx, r15
mov rdx, rsi
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
add rbp, rsp
add rbp, 0x40
jmp 0x1400026c1
mov rax, rbp
or rax, 0xf
cmp rax, 0x17
mov r15d, 0x16
cmovae r15, rax
cmp rax, 0xfff
jb 0x140002690
lea rcx, [r15 + 0x28]
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
lea r13, [rax + 0x27]
and r13, 0xffffffffffffffe0
mov qword [r13 - 8], rax
jmp 0x14000269c
lea rcx, [r15 + 1]
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov r13, rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], r15
mov rcx, r13
mov rdx, rsi
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
add rbp, r13
lea r15, [rsp + 0x40]
mov byte [rbp], 0
mov rcx, r12
mov rdx, r15
lea r8, [rsp + 0x60]
call fcn.140002a00
mov rax, qword [rsp + 0x58]
cmp rax, 0x10
jb 0x140002716
mov rcx, qword [rsp + 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140002711
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140002830
add rax, 0x28
mov rdx, rax
mov rcx, r8
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov rax, qword [rsp + 0x78]
cmp rax, 0x10
jb 0x140002757
mov rcx, qword [rsp + 0x60]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140002752
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140002830
add rax, 0x28
mov rdx, rax
mov rcx, r8
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov rdx, qword [rsp + 0x28]
cmp rdx, qword [rsp + 0x30]
je 0x140002780
mov rcx, rdx
mov rdx, r12
call fcn.1400045b0
add qword [rsp + 0x28], 0x40
jmp 0x14000278d
lea rcx, [rsp + 0x20]
mov r8, r12
call fcn.140004430
mov rax, qword [rsp + 0xb8]
cmp rax, 0x10
jb 0x1400027d0
mov rcx, qword [rsp + 0xa0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400027cb
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140002830
add rax, 0x28
mov rdx, rax
mov rcx, r8
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0xf
mov byte [rsp + 0xa0], 0
mov rax, qword [rsp + 0x98]
cmp rax, 0x10
jb 0x14000251f
mov rcx, qword [rsp + 0x80]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000251a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x140002510
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov rbx, qword [rdi + 0x10]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x1400029f1
mov rdi, rax
cmp rax, 0xf
mov ebp, 1
ja 0x14000289f
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], 0xf
lea rcx, [rsp + 0x80]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, rsp
add rdi, 0x80
jmp 0x140002908
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov r14d, 0x16
cmovae r14, rax
cmp rax, 0xfff
jb 0x1400028d3
lea rcx, [r14 + 0x28]
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400028df
lea rcx, [r14 + 1]
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rsi, rax
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], r14
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, rsi
mov byte [rdi], 0
lea rcx, [rsp + 0x80]
call fcn.140002b60
mov rax, qword [rsp + 0x98]
cmp rax, 0x10
jb 0x14000295f
mov rcx, qword [rsp + 0x80]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000295a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140002830
add rax, 0x28
mov rdx, rax
mov rcx, r8
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
cmp rsi, rdi
je 0x1400029b7
mov rbx, qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
nop word cs:[rax + rax]
mov rcx, rsi
call fcn.1400019d0
test al, al
je 0x1400029b9
cmp qword [rsi + 0x30], 0
je 0x1400029b9
lea r14, [rsi + 0x20]
cmp qword [rsi + 0x38], 0x10
mov rcx, r14
jb 0x1400029a5
mov rcx, qword [rsi + 0x20]
call rbx
test eax, eax
jne 0x1400029b9
add r14, 0x20
mov rsi, r14
cmp r14, rdi
jne 0x140002980
xor ebp, ebp
lea rcx, [rsp + 0x20]
call fcn.1400042f0
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.14000ac20
mov eax, ebp
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140003d20
int3