Function at 0x100071c0
Capabilities:
Create directory
Delete file
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x1000c827
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x174
mov eax, dword [0x10011098]
push ebp
push esi
xor esi, esi
mov dword [esp + 0x178], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
mov ebp, dword [esp + 0x18c]
push 0x1000e9f7
push ebp
mov dword [esp + 0x18c], esi
call dword [sym.imp.MSVCP71.dll_bool___cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 8
test al, al
je 0x10007233
lea ecx, [esp + 0xc]
mov dword [esp + 0x184], 0xffffffff
call fcn.10007160
xor al, al
jmp 0x1000744e
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, 0x10
cmp eax, ebx
push edi
lea edi, [ebp + 4]
jb 0x10007248
mov eax, dword [edi]
jmp 0x1000724a
mov eax, edi
lea ecx, [esp + 0x40]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
je 0x1000729c
test byte [esp + 0x40], 0x10
push eax
je 0x10007284
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [esp + 0x14]
mov dword [esp + 0x18c], 0xffffffff
call fcn.10007160
mov al, 1
jmp 0x1000744c
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x18], ebx
jb 0x10007293
mov eax, dword [edi]
jmp 0x10007295
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x24]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
cmp dword [ebp + 0x14], esi
mov byte [esp + 0x18c], 1
jbe 0x10007368
mov ecx, dword [ebp + 0x18]
cmp ecx, ebx
jb 0x100072c2
mov eax, dword [edi]
jmp 0x100072c4
mov eax, edi
cmp byte [eax + esi], 0x5c
je 0x10007306
cmp ecx, ebx
jb 0x100072d2
mov eax, dword [edi]
jmp 0x100072d4
mov eax, edi
cmp byte [eax + esi], 0x2f
je 0x10007306
cmp ecx, ebx
jb 0x100072f2
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + esi]
lea ecx, [esp + 0x24]
push edx
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_]
jmp 0x10007323
mov eax, edi
xor edx, edx
mov dl, byte [eax + esi]
lea ecx, [esp + 0x24]
push edx
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_]
jmp 0x10007323
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x18]
call fcn.100019f0
push 0x1000d180
lea ecx, [esp + 0x28]
call dword [0x1000d098]
mov ecx, dword [ebp + 0x18]
cmp ecx, ebx
jb 0x1000732e
mov eax, dword [edi]
jmp 0x10007330
mov eax, edi
cmp byte [eax + esi], 0x5c
je 0x1000735c
cmp ecx, ebx
jb 0x1000733e
mov eax, dword [edi]
jmp 0x10007340
mov eax, edi
cmp byte [eax + esi], 0x2f
je 0x1000735c
mov eax, dword [ebp + 0x14]
dec eax
cmp esi, eax
jne 0x1000735c
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x18]
call fcn.100019f0
mov eax, dword [ebp + 0x14]
inc esi
cmp esi, eax
jb 0x100072b7
mov esi, dword [esp + 0x18]
mov ebp, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov ebx, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov byte [esp + 0x13], 1
mov edi, 1
add esi, 0x20
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100073a6
mov ecx, dword [esp + 0x1c]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jge 0x100073fe
cmp dword [esi + 0x14], 0x10
jb 0x100073b4
mov eax, dword [esi]
jmp 0x100073b6
mov eax, esi
push 0
push eax
call ebp
cmp eax, 1
jne 0x100073e6
cmp dword [esi + 0x14], 0x10
jb 0x100073d6
mov eax, dword [esi]
push 0x80
push eax
call ebx
inc edi
add esi, 0x1c
jmp 0x10007385
mov eax, esi
push 0x80
push eax
call ebx
inc edi
add esi, 0x1c
jmp 0x10007385
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x100073f9
inc edi
add esi, 0x1c
jmp 0x10007385
mov byte [esp + 0x13], 0
lea ecx, [esp + 0x24]
mov byte [esp + 0x18c], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ebx, dword [esp + 0x18]
test ebx, ebx
mov dword [esp + 0x18c], 0xffffffff
je 0x10007448
mov edi, dword [esp + 0x1c]
cmp ebx, edi
mov esi, ebx
je 0x1000743f
lea ecx, [ecx]
mov ecx, esi
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 0x1c
cmp esi, edi
jne 0x10007430
push ebx
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
mov al, byte [esp + 0x13]
pop edi
pop ebx
mov ecx, dword [esp + 0x17c]
pop esi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x174]
pop ebp
call fcn.1000c09f
add esp, 0x180
ret