Function at 0x4070a0
Capabilities:
Check if file exists
Delete directory
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44818a
mov eax, dword fs:[0]
push eax
sub esp, 0x308
mov eax, dword [0x4551a0]
xor eax, esp
mov dword [esp + 0x300], eax
push ebx
push esi
push edi
mov eax, dword [0x4551a0]
xor eax, esp
push eax
lea eax, [esp + 0x318]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x50], ecx
mov word [esp + 0x40], cx
push 0xffffffffffffffff
lea ecx, [esp + 0x40]
push ecx
xor ebx, ebx
mov dword [esp + 0x5c], 7
call fcn.00401709
mov dword [esp + 0x320], ebx
push 0x10
lea ecx, [esp + 0x40]
call fcn.00406110
add esp, 4
lea edx, [esp + 0x74]
push edx
call fcn.00409a20
mov byte [esp + 0x320], 1
lea esi, [esp + 0x1c]
call fcn.00409d90
mov byte [esp + 0x320], 2
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x5c]
push ecx
mov edi, 0x44b874
call fcn.00406740
add esp, 8
mov byte [esp + 0x320], 3
mov edi, dword [esp + 0x1c]
lea edx, [esp + 0x74]
mov ecx, eax
mov esi, edi
call fcn.00409c20
mov bl, al
mov byte [esp + 0x320], 2
cmp dword [esp + 0x70], 8
jb 0x407192
mov edx, dword [esp + 0x5c]
push edx
call fcn.0043004e
add esp, 4
xor eax, eax
test bl, bl
mov dword [esp + 0x70], 7
mov dword [esp + 0x6c], eax
mov word [esp + 0x5c], ax
je 0x40742e
lea esi, [esp + 0x74]
call fcn.00409bc0
test al, al
jne 0x40729c
mov eax, dword [esp + 0x94]
and eax, 0x10
xor ecx, ecx
xor esi, esi
or eax, ecx
je 0x407234
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x60]
push edx
call fcn.00406670
add esp, 0xc
mov byte [esp + 0x320], 4
push eax
call fcn.004070a0
mov ebx, eax
add esp, 4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
mov byte [esp + 0x320], 2
cmp dword [esp + 0x70], 8
jb 0x407221
mov eax, dword [esp + 0x5c]
push eax
call fcn.0043004e
add esp, 4
mov dword [esp + 0x70], 7
mov dword [esp + 0x6c], esi
mov word [esp + 0x5c], si
jmp 0x4072a6
lea ecx, [esp + 0x9c]
push ecx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x60]
push eax
call fcn.00406670
add esp, 0xc
mov byte [esp + 0x320], 5
lea ecx, [esp + 0x58]
push ecx
call fcn.00409240
movzx eax, al
cdq
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov byte [esp + 0x320], 2
cmp dword [esp + 0x70], 8
jb 0x40728b
mov edx, dword [esp + 0x5c]
push edx
call fcn.0043004e
add esp, 4
mov dword [esp + 0x70], 7
mov dword [esp + 0x6c], esi
mov word [esp + 0x5c], si
mov ebx, dword [esp + 0x14]
jmp 0x4072a6
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi]
lea eax, [esp + 0xbc]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
setne al
test al, al
je 0x407434
lea edi, [esp + 0x74]
lea ecx, [esp + 0xbc]
call fcn.00409cb0
mov edx, dword [esp + 0x94]
mov eax, edx
and eax, 0x10
xor ecx, ecx
xor esi, esi
or eax, ecx
je 0x407355
mov ecx, dword [esp + 0xb0]
cmp ecx, esi
je 0x407355
cmp dword [esp + 0xb4], 8
mov eax, dword [esp + 0xa0]
jae 0x40730b
lea eax, [esp + 0xa0]
cmp word [eax], 0x2e
jne 0x407355
cmp ecx, 1
je 0x4072a2
jae 0x40732b
call fcn.00430697
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x94]
cmp dword [esp + 0xb4], 8
mov eax, dword [esp + 0xa0]
jae 0x407343
lea eax, [esp + 0xa0]
cmp word [eax + 2], 0x2e
jne 0x407353
cmp ecx, 2
je 0x4072a2
xor esi, esi
and edx, 0x10
mov eax, edx
xor ecx, ecx
or eax, ecx
je 0x4073c3
lea edx, [esp + 0x9c]
push edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.00406670
add esp, 0xc
mov byte [esp + 0x320], 6
push eax
call fcn.004070a0
add esp, 4
add ebx, eax
adc dword [esp + 0x18], edx
mov byte [esp + 0x320], 2
cmp dword [esp + 0x38], 8
jb 0x4073ad
mov edx, dword [esp + 0x24]
push edx
call fcn.0043004e
add esp, 4
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], esi
mov word [esp + 0x24], si
jmp 0x4072a2
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x60]
push edx
call fcn.00406670
add esp, 0xc
mov byte [esp + 0x320], 7
lea eax, [esp + 0x58]
push eax
call fcn.00409240
movzx eax, al
cdq
add esp, 4
add ebx, eax
adc dword [esp + 0x18], edx
mov byte [esp + 0x320], 2
cmp dword [esp + 0x70], 8
jb 0x407418
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.0043004e
add esp, 4
mov dword [esp + 0x70], 7
mov dword [esp + 0x6c], esi
mov word [esp + 0x5c], si
jmp 0x4072a2
mov ebx, dword [esp + 0x14]
jmp 0x407438
mov dword [esp + 0x14], ebx
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x407450
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x407450
mov dword [edi], 0xffffffff
mov eax, dword [esp + 0x40]
mov esi, 8
cmp dword [esp + 0x54], esi
jae 0x407463
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x40747b
add ebx, 1
adc dword [esp + 0x18], 0
jmp 0x4074f9
push 0x20
lea ecx, [esp + 0x40]
call fcn.00406110
mov eax, dword [esp + 0x44]
add esp, 4
cmp dword [esp + 0x54], esi
jae 0x407497
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, eax
cmp esi, 0xffffffff
je 0x4074f9
mov eax, dword [esp + 0x40]
mov ebx, 8
cmp dword [esp + 0x54], ebx
jae 0x4074b8
lea eax, [esp + 0x40]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [esp + 0x54], ebx
mov eax, dword [esp + 0x40]
jae 0x4074cf
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x4074e6
add dword [esp + 0x14], 1
adc dword [esp + 0x18], 0
jmp 0x4074f5
push 0
push esi
lea ecx, [esp + 0x44]
call fcn.00406bc0
add esp, 8
mov ebx, dword [esp + 0x14]
mov byte [esp + 0x320], 1
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x407519
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x407519
mov dword [edi], 0xffffffff
push edi
call fcn.0043004e
xor esi, esi
add esp, 4
mov dword [esp + 0x1c], esi
mov byte [esp + 0x320], 0
lea edx, [esp + 0x74]
push edx
call fcn.00409a90
mov dword [esp + 0x320], 0xffffffff
cmp dword [esp + 0x54], 8
jb 0x407559
mov eax, dword [esp + 0x40]
push eax
call fcn.0043004e
add esp, 4
mov edx, dword [esp + 0x18]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], esi
mov word [esp + 0x40], si
mov eax, ebx
mov ecx, dword [esp + 0x318]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x300]
xor ecx, esp
call fcn.0042fe0e
mov esp, ebp
pop ebp
ret