Function at 0x180003480
Capabilities:
Delete file

Disassembly:
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rsi
mov rdi, rcx
lea rbx, [rcx + 0x28]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
cmp dword [rdi + 0x7e0], 0
je 0x1800036e5
xor esi, esi
cmp dword [rdi + 0x7f0], esi
je 0x1800034d1
call fcn.1800e2810
mov dword [rdi + 0x7f0], esi
cmp dword [rdi + 0x7ec], esi
je 0x1800034e4
call fcn.1800e2d60
mov dword [rdi + 0x7ec], esi
cmp dword [rdi + 0x7e8], esi
je 0x18000352d
lea r8, [0x1800e1aa0]
lea rdx, [0x180179ef8]
lea rcx, str.NtCreateFile
call fcn.1800e4b20
lea r8, [0x1800e1b80]
lea rdx, [0x180179ef0]
lea rcx, str.NtOpenFile
call fcn.1800e4b20
mov qword [0x180179618], rsi
mov dword [rdi + 0x7e8], esi
mov rcx, qword [rdi + 0x7f8]
test rcx, rcx
je 0x180003553
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rdi + 0x7f8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rdi + 0x7f8], rsi
mov rcx, qword [rdi + 0x800]
test rcx, rcx
je 0x180003579
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rdi + 0x800]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rdi + 0x800], rsi
cmp qword [rdi + 0x4f8], rsi
je 0x1800035a2
cmp qword [rdi + 0x500], 8
jb 0x180003595
mov rcx, qword [rdi + 0x4e8]
jmp 0x18000359c
lea rcx, [rdi + 0x4e8]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp qword [rdi + 0x778], rsi
je 0x1800035cb
cmp qword [rdi + 0x780], 8
jb 0x1800035be
mov rcx, qword [rdi + 0x768]
jmp 0x1800035c5
lea rcx, [rdi + 0x768]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rdi + 0x4b8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
lea rcx, [rdi + 0x4e0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
lea rcx, [rdi + 0x508]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
lea rcx, [rdi + 0x530]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
lea rcx, [rdi + 0x558]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
lea rcx, [rdi + 0x580]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
lea rcx, [rdi + 0x5a8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
lea rcx, [rdi + 0x5d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
lea rcx, [rdi + 0x5f8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
lea rcx, [rdi + 0x620]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
lea rcx, [rdi + 0x648]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
lea rcx, [rdi + 0x670]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
lea rcx, [rdi + 0x698]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
lea rcx, [rdi + 0x6c0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
lea rcx, [rdi + 0x6e8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
lea rcx, [rdi + 0x710]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
lea rcx, [rdi + 0x738]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
lea rcx, [rdi + 0x760]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
lea rcx, [rdi + 0x788]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
lea rcx, [rdi + 0x7b0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
mov dword [rdi + 0x7dc], 0xffffffff
mov dword [rdi + 0x7d8], esi
mov dword [rdi + 0x7e0], esi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 1
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret