Function at 0x10016c90
Capabilities:
Delete file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10028f26
mov eax, dword fs:[0]
push eax
sub esp, 0x260
mov eax, dword [0x10040cf8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 1
push 0x40
push 1
push 0x100304e4
lea ecx, [ebp - 0x26c]
call fcn.1000bd70
push 1
push 0x40
push 1
push 0x100304e8
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 4], 0
call fcn.1000bd70
push 1
push 0x40
push 2
push 0x100304ec
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 1
call fcn.100049c0
push 8
mov byte [ebp - 4], 3
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
call fcn.10026bb0
lea ecx, [ebp - 0x48]
mov dword [eax + 4], 0
mov dword [ebp - 0x48], eax
mov dword [eax], ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
push 8
mov byte [ebp - 4], 5
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.10026bb0
lea ecx, [ebp - 0x2c]
mov dword [eax + 4], 0
mov dword [ebp - 0x2c], eax
mov dword [eax], ecx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
push 0xa
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.1000ed70
add esp, 0x14
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x10016e0c
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
push 0x1000d080
push dword [ebp - 0x34]
cmovae eax, dword [ebp - 0x44]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.1000ebc0
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0xa
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.1000ed70
add esp, 0xc
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x10016dc0
push 0xa
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1b4]
push eax
call fcn.1000ed70
add esp, 0xc
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x10016e7c
nop dword [eax]
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push 0x1000d080
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.1000ebc0
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0xa
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1b4]
push eax
call fcn.1000ed70
add esp, 0xc
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x10016e30
lea ecx, [ebp - 0x25c]
call fcn.100054a0
test eax, eax
jne 0x10016ea5
push eax
mov eax, dword [ebp - 0x26c]
lea ecx, [ebp - 0x26c]
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea ecx, [ebp - 0x1a4]
call fcn.100054a0
test eax, eax
jne 0x10016ece
push eax
mov eax, dword [ebp - 0x1b4]
lea ecx, [ebp - 0x1b4]
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea ecx, [ebp - 0xf8]
call fcn.100054a0
test eax, eax
jne 0x10016ef7
push eax
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0xfc]
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
push 2
push 0x100304f0
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov esi, dword [sym.imp.ucrtbased.dll_remove]
push 0x100304f4
call esi
push 0x100304f8
call esi
add esp, 8
call fcn.100166b0
push 3
lea ecx, [ebp - 0x4c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10016f60
cmp dword [ecx + 4], 0
je 0x10016f59
nop dword [eax + eax]
mov eax, dword [ecx + 4]
mov dword [eax], 0
mov eax, dword [ecx + 4]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
test eax, eax
jne 0x10016f40
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 4], 0
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea ecx, [ebp - 0x4c]
call esi
mov edi, dword [ebp - 0x14]
mov eax, dword [sym.imp.ucrtbased.dll__CrtDbgReport]
mov ebx, dword [sym.imp.ucrtbased.dll__invalid_parameter]
cmp edi, 0x10
jb 0x10017049
mov esi, dword [ebp - 0x28]
inc edi
cmp edi, 0x1000
jb 0x10017039
mov ecx, dword [esi - 4]
add edi, 0x27
cmp dword [esi - 8], 0xfafafafa
mov dword [ebp - 0x4c], ecx
je 0x10016fea
push 0x1002a78c
push 0x1002a7a0
push 0
push 0x9a
push 0x1002a7a8
push 2
call eax
add esp, 0x18
cmp eax, 1
jne 0x10016fc7
int3
push 0
push 0x9a
push 0x1002a818
push 0x1002a8ec
push 0x1002a8f0
call ebx
mov eax, dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x14
mov ecx, dword [ebp - 0x4c]
sub esi, ecx
cmp esi, 8
jb 0x10016ff6
cmp esi, 0x27
jbe 0x10017037
push 0x1002a78c
push 0x1002a7a0
push 0
push 0xa4
push 0x1002a7a8
push 2
call eax
add esp, 0x18
cmp eax, 1
jne 0x10017019
int3
push 0
push 0xa4
push 0x1002a818
push 0x1002a8ec
push 0x1002a8f0
call ebx
mov ecx, dword [ebp - 0x4c]
add esp, 0x14
mov esi, ecx
push edi
push esi
call fcn.10026c00
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
add esp, 8
mov eax, dword [ebp - 0x2c]
push 8
push eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
call fcn.10026c00
add esp, 8
lea ecx, [ebp - 0x4c]
push 3
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x100170b0
cmp dword [ecx + 4], 0
je 0x100170a9
nop dword [eax + eax]
mov eax, dword [ecx + 4]
mov dword [eax], 0
mov eax, dword [ecx + 4]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
test eax, eax
jne 0x10017090
mov ecx, dword [ebp - 0x48]
mov dword [ecx + 4], 0
lea ecx, [ebp - 0x4c]
call esi
mov edi, dword [ebp - 0x30]
cmp edi, 0x10
jb 0x10017185
mov esi, dword [ebp - 0x44]
inc edi
cmp edi, 0x1000
jb 0x1001717b
mov eax, dword [esi - 4]
add edi, 0x27
cmp dword [esi - 8], 0xfafafafa
mov dword [ebp - 0x4c], eax
je 0x10017128
push 0x1002a78c
push 0x1002a7a0
push 0
push 0x9a
push 0x1002a7a8
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1001710a
int3
push 0
push 0x9a
push 0x1002a818
push 0x1002a8ec
push 0x1002a8f0
call ebx
mov eax, dword [ebp - 0x4c]
add esp, 0x14
sub esi, eax
cmp esi, 8
jb 0x10017134
cmp esi, 0x27
jbe 0x10017179
push 0x1002a78c
push 0x1002a7a0
push 0
push 0xa4
push 0x1002a7a8
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1001715b
int3
push 0
push 0xa4
push 0x1002a818
push 0x1002a8ec
push 0x1002a8f0
call ebx
mov eax, dword [ebp - 0x4c]
add esp, 0x14
mov esi, eax
push edi
push esi
call fcn.10026c00
add esp, 8
mov eax, dword [ebp - 0x48]
push 8
push eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
call fcn.10026c00
add esp, 8
lea ecx, [ebp - 0xfc]
call fcn.10004fb0
lea ecx, [ebp - 0x1b4]
call fcn.1000bf20
lea ecx, [ebp - 0x26c]
call fcn.1000bf20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10026c20
mov esp, ebp
pop ebp
ret