Function at 0x40a335
Capabilities:
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xb74
mov eax, dword [0x412004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0xb58], edx
mov esi, 0x1fe
mov dword [ebp - 0xb70], ecx
push esi
lea eax, [ebp - 0x618]
mov dword [ebp - 0xb5c], ebx
push ebx
push eax
mov dword [ebp - 0xb60], ebx
mov dword [ebp - 0xb74], ebx
mov dword [ebp - 0xb54], ebx
call sub.msvcrt.dll_memset
add esp, 0xc
lea edi, [esi - 2]
lea eax, [ebp - 0x818]
push edi
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x418]
push edi
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x218]
push esi
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0xb40], ebx
xor eax, eax
mov dword [ebp - 0xb64], ebx
lea edi, [ebp - 0x18]
mov dword [ebp - 0xb68], ebx
stosd dword es:[edi], eax
mov ecx, 0x320
mov dword [ebp - 0xb6c], ebx
mov dword [ebp - 0xb50], ebx
mov dword [ebp - 0xb44], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xb38]
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x40a3f8
push 0xfe
mov edx, 0x4011ec
lea ecx, [ebp - 0x818]
call fcn.0040e35d
mov esi, 0x40110c
lea ecx, [ebp - 0xb38]
push 8
mov edx, esi
call fcn.0040e2ff
xor ebx, ebx
mov dword [ebp - 0xb18], 0x401180
lea eax, [ebp - 0xb74]
mov dword [ebp - 0xb30], 0xa
inc ebx
mov dword [ebp - 0xb0c], eax
push 8
mov edx, esi
mov dword [ebp - 0xb20], ebx
lea ecx, [ebp - 0xae8]
call fcn.0040e2ff
mov edi, 0x12000
mov dword [ebp - 0xac8], 0x4011f0
xor esi, esi
mov dword [ebp - 0xad8], edi
push 8
mov edx, 0x40110c
mov dword [ebp - 0xad4], esi
lea ecx, [ebp - 0xa98]
mov dword [ebp - 0xae0], ebx
mov dword [ebp - 0xad0], ebx
call fcn.0040e2ff
mov dword [ebp - 0xa88], edi
lea ecx, [ebp - 0xa48]
mov edi, 0x40110c
mov dword [ebp - 0xa78], 0x4011f4
push 8
mov edx, edi
mov dword [ebp - 0xa84], esi
mov dword [ebp - 0xa90], ebx
mov dword [ebp - 0xa80], ebx
call fcn.0040e2ff
lea eax, [ebp - 0x818]
mov dword [ebp - 0xa28], 0x4011f8
push 8
mov edx, edi
mov dword [ebp - 0xa38], 0x10
lea ecx, [ebp - 0x9f8]
mov dword [ebp - 0xa34], esi
mov dword [ebp - 0xa40], ebx
mov dword [ebp - 0xa30], ebx
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xa18], 0xfe
call fcn.0040e2ff
lea eax, [ebp - 0xb5c]
mov dword [ebp - 0x9d8], 0x40113c
push 8
mov edx, edi
mov dword [ebp - 0x9e8], 0x20000
lea ecx, [ebp - 0x9a8]
mov dword [ebp - 0x9e4], esi
mov dword [ebp - 0x9f0], 0xa
mov dword [ebp - 0x9e0], ebx
mov dword [ebp - 0x9cc], eax
call fcn.0040e2ff
lea eax, [ebp - 0xb54]
mov dword [ebp - 0x988], 0x401200
push 8
mov edx, edi
mov dword [ebp - 0x998], 0x82000
lea ecx, [ebp - 0x958]
mov dword [ebp - 0x994], esi
mov dword [ebp - 0x9a0], 3
mov dword [ebp - 0x990], ebx
mov dword [ebp - 0x97c], eax
call fcn.0040e2ff
mov dword [ebp - 0x938], 0x401660
lea eax, [ebp - 0xb50]
mov dword [ebp - 0x948], 0x2000
mov dword [ebp - 0x944], esi
mov dword [ebp - 0x950], 3
mov dword [ebp - 0x940], ebx
push 8
mov edx, edi
mov dword [ebp - 0x92c], eax
lea ecx, [ebp - 0x908]
call fcn.0040e2ff
lea eax, [ebp - 0xb64]
mov dword [ebp - 0x8e8], 0x401668
push 8
mov edx, edi
mov dword [ebp - 0x900], 0xa
lea ecx, [ebp - 0x8b8]
mov dword [ebp - 0x8f0], ebx
mov dword [ebp - 0x8dc], eax
call fcn.0040e2ff
lea eax, [ebp - 0xb6c]
mov dword [ebp - 0x898], 0x401670
push 8
mov edx, edi
mov dword [ebp - 0x8b0], 0xa
lea ecx, [ebp - 0x868]
mov dword [ebp - 0x8a0], ebx
mov dword [ebp - 0x88c], eax
call fcn.0040e2ff
mov edx, dword [ebp - 0xb58]
lea eax, [ebp - 0xb68]
push 0xa
pop ecx
push ecx
mov dword [ebp - 0x83c], eax
lea eax, [ebp - 0xb38]
push eax
push ecx
mov dword [ebp - 0x860], ecx
mov ecx, dword [ebp - 0xb70]
push esi
mov dword [ebp - 0x848], 0x401678
mov dword [ebp - 0x850], ebx
call fcn.00411190
test eax, eax
jne 0x40a6b3
push 2
call fcn.00411dc9
pop ecx
mov edx, 0x20001
mov ecx, eax
call fcn.0040d7c6
jmp 0x40af31
mov eax, dword [ebp - 0xa6c]
mov edi, dword [ebp - 0xabc]
mov dword [ebp - 0xb4c], edi
mov dword [ebp - 0xb3c], eax
mov dword [ebp - 0xb48], eax
test eax, eax
jne 0x40a6ef
mov ecx, 0x1fc
call fcn.0040ebd3
mov dword [ebp - 0xb3c], eax
mov dword [ebp - 0xb48], eax
test eax, eax
je 0x40a69a
push ecx
xor edx, edx
mov ecx, edi
call fcn.0040df49
push ecx
mov ecx, dword [ebp - 0xb3c]
xor edx, edx
call fcn.0040df49
cmp dword [ebp - 0xb5c], ebx
jne 0x40a73a
cmp dword [ebp - 0xb70], 3
jbe 0x40a73a
mov ecx, 0x42e
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
jmp 0x40af31
cmp dword [ebp - 0x93c], esi
je 0x40a76d
cmp dword [ebp - 0xb50], 0x20
jae 0x40a76d
mov ecx, 0x31a
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
jmp 0x40af1b
cmp dword [ebp - 0xacc], esi
je 0x40a787
mov ecx, edi
call fcn.0040e3f2
test eax, eax
jne 0x40a787
mov ecx, 0x30e
jmp 0x40a750
mov eax, dword [ebp - 0xa7c]
test eax, eax
je 0x40a7ad
mov ecx, dword [ebp - 0xb3c]
call fcn.0040e3f2
test eax, eax
jne 0x40a7a7
mov ecx, 0x30f
jmp 0x40a750
mov eax, dword [ebp - 0xa7c]
cmp dword [ebp - 0xacc], esi
jne 0x40a7c0
test eax, eax
je 0x40a7c4
mov ecx, 0x30b
jmp 0x40a750
test eax, eax
jne 0x40a7d6
cmp dword [ebp - 0xa2c], esi
je 0x40a7d6
mov ecx, 0x30c
jmp 0x40a750
mov ecx, edi
cmp dword [ebp - 0xb5c], esi
je 0x40a81b
call fcn.0040cc0e
cmp eax, ebx
je 0x40af1b
mov edi, 0x384
mov ecx, edi
call fcn.0040d995
push ebx
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
inc edi
cmp edi, 0x3a4
jbe 0x40a7f2
xor ebx, ebx
jmp 0x40af1b
call fcn.0040f9d8
test eax, eax
je 0x40a854
call fcn.0040f91b
test eax, eax
jne 0x40a854
mov ecx, 0xe87
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
call fcn.0040d859
jmp 0x40af31
cmp dword [ebp - 0xb50], esi
jne 0x40a87e
cmp dword [ebp - 0xb64], esi
jne 0x40a87e
cmp dword [ebp - 0xb6c], esi
jne 0x40a87e
cmp dword [ebp - 0xb68], esi
jne 0x40a87e
mov ecx, 0x42e
jmp 0x40a750
mov ecx, edi
call fcn.0040f9d8
test eax, eax
jne 0x40a8e2
cmp dword [ebp - 0xa2c], esi
je 0x40a8b7
push esi
push ebx
mov edx, 0x4011ec
lea ecx, [ebp - 0x818]
call fcn.0040e401
test eax, eax
jne 0x40a8af
mov dword [ebp - 0xb60], ebx
jmp 0x40a8e2
cmp dword [ebp - 0xa2c], esi
jne 0x40a8e2
cmp dword [ebp - 0xacc], esi
jne 0x40a8c7
cmp dword [ebp - 0xa7c], esi
je 0x40a8e2
push 0xfe
mov edx, 0x401104
mov dword [ebp - 0xb60], ebx
lea ecx, [ebp - 0x818]
call fcn.0040e35d
push 2
push 0x401208
push edi
call dword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrCmpNW]
test eax, eax
jne 0x40a951
push 3
push 0x401210
push edi
call dword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrCmpNW]
test eax, eax
je 0x40a951
push 0x401208
push edi
call dword [sym.imp.msvcrt.dll_wcstok]
mov dword [ebp - 0xb58], eax
pop ecx
pop ecx
test eax, eax
jne 0x40a93a
push esi
push ebx
mov edx, 0x401208
mov ecx, edi
call fcn.0040e401
test eax, eax
je 0x40a93a
mov ecx, 0xe7d
jmp 0x40a71d
mov ecx, edi
call fcn.0040ed63
mov edx, dword [ebp - 0xb58]
mov ecx, edi
shr eax, 1
push eax
call fcn.0040e35d
mov edx, dword [ebp - 0xb3c]
lea eax, [ebp - 0xb44]
push eax
push dword [ebp - 0xb60]
lea eax, [ebp - 0x418]
mov ecx, edi
push eax
lea eax, [ebp - 0x818]
push eax
call fcn.004052aa
test eax, eax
jne 0x40a993
lea ecx, [ebp - 0xb40]
call fcn.0040eb2f
cmp dword [ebp - 0xb44], esi
jmp 0x40af11
mov ecx, edi
call fcn.0040f9d8
cmp eax, ebx
jne 0x40a9cc
mov ecx, dword [ebp - 0xb3c]
call fcn.0040e3f2
test eax, eax
je 0x40a9cc
mov ecx, 0x313
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
xor esi, esi
lea ecx, [ebp - 0x418]
call fcn.00404f7f
mov ecx, eax
mov dword [ebp - 0xb3c], ecx
test ecx, ecx
jne 0x40aa31
mov eax, dword [0x41248c]
test bl, al
je 0x40a9f1
or eax, 0x21
jmp 0x40a9f4
or eax, 0x20
push eax
mov dword [0x41248c], eax
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFileAttributesW]
test eax, eax
jne 0x40aeff
mov ecx, 0x8d
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
jmp 0x40aeff
mov edx, dword [ebp - 0xb54]
test edx, edx
je 0x40ae94
call fcn.0040f4ff
cmp edx, eax
ja 0x40ae94
dec edx
call fcn.0040f556
mov ecx, eax
mov dword [ebp - 0xb58], eax
call fcn.0040e3f2
cmp eax, 0xfe
jbe 0x40aadc
mov ecx, 0xe80
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
lea ecx, [ebp - 0xb40]
call fcn.0040eb2f
mov eax, dword [0x41248c]
test bl, al
je 0x40aa9c
or eax, 0x21
jmp 0x40aa9f
or eax, 0x20
push eax
mov dword [0x41248c], eax
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFileAttributesW]
test eax, eax
jne 0x40af0a
mov ecx, 0x8d
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
jmp 0x40af0a
mov edx, dword [ebp - 0xb58]
test edx, edx
je 0x40ae76
push 0xff
lea ecx, [ebp - 0x618]
call fcn.0040e35d
cmp dword [ebp - 0xb50], 0
je 0x40abb2
push esi
push ebx
mov edx, 0x401680
lea ecx, [ebp - 0x618]
call fcn.0040dea7
cmp eax, 0xffffffff
je 0x40ab33
lea eax, [ebp + eax*2 - 0x618]
test eax, eax
je 0x40ab33
mov ecx, 0x319
jmp 0x40ae97
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrlenW]
lea ecx, [ebp - 0x218]
mov edx, 0x401254
push 0xff
test eax, eax
jne 0x40ab5b
call fcn.0040e35d
jmp 0x40ab60
call fcn.0040e3bd
push 0xff
mov edx, 0x401680
lea ecx, [ebp - 0x218]
call fcn.0040e3bd
push 0xff
mov edx, 0x401250
lea ecx, [ebp - 0x218]
call fcn.0040e3bd
push 0xa
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0xb50]
call dword [sym.imp.msvcrt.dll__ltow]
add esp, 0xc
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x218]
push 0xff
call fcn.0040e3bd
cmp dword [ebp - 0xb64], 0
je 0x40ac29
push esi
push ebx
mov edx, 0x401690
lea ecx, [ebp - 0x618]
call fcn.0040dea7
cmp eax, 0xffffffff
je 0x40abe7
lea eax, [ebp + eax*2 - 0x618]
test eax, eax
je 0x40abe7
mov ecx, 0x318
jmp 0x40ae97
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrlenW]
lea ecx, [ebp - 0x218]
mov edx, 0x401254
push 0xff
test eax, eax
jne 0x40ac0f
call fcn.0040e35d
jmp 0x40ac14
call fcn.0040e3bd
push 0xff
mov edx, 0x401690
lea ecx, [ebp - 0x218]
call fcn.0040e3bd
cmp dword [ebp - 0xb68], 0
je 0x40ac9f
push esi
push ebx
mov edx, 0x4016a8
lea ecx, [ebp - 0x618]
call fcn.0040dea7
cmp eax, 0xffffffff
je 0x40ac5e
lea eax, [ebp + eax*2 - 0x618]
test eax, eax
je 0x40ac5e
mov ecx, 0x317
jmp 0x40ae97
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrlenW]
lea ecx, [ebp - 0x218]
mov esi, 0xff
mov edx, 0x401254
push esi
test eax, eax
jne 0x40ac87
call fcn.0040e35d
jmp 0x40ac8c
call fcn.0040e3bd
push esi
mov edx, 0x4016a8
lea ecx, [ebp - 0x218]
call fcn.0040e3bd
jmp 0x40aca4
mov esi, 0xff
cmp dword [ebp - 0xb6c], 0
je 0x40ad09
lea eax, [ebp - 0x618]
push 0x4016b4
push eax
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x40accf
mov ecx, 0x316
jmp 0x40ae97
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrlenW]
lea ecx, [ebp - 0x218]
mov edx, 0x401254
push esi
test eax, eax
jne 0x40acf3
call fcn.0040e35d
jmp 0x40acf8
call fcn.0040e3bd
push esi
mov edx, 0x4016b4
lea ecx, [ebp - 0x218]
call fcn.0040e3bd
lea eax, [ebp - 0x618]
push eax
call dword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrlenW]
mov esi, eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrlenW]
add eax, esi
mov ecx, 0xfe
cmp eax, ecx
jbe 0x40ad54
push ecx
mov ecx, 0xc12
call fcn.0040d995
push eax
push ebx
push ebx
push 2
call fcn.00411dc9
pop ecx
push eax
call fcn.0040e6ab
add esp, 0x14
jmp 0x40aa83
push 0xff
lea edx, [ebp - 0x218]
lea ecx, [ebp - 0x618]
call fcn.0040e3bd
mov edx, dword [ebp - 0xb54]
mov esi, dword [ebp - 0xb3c]
mov ecx, esi
lea edx, [edx - 1]
call fcn.0040f4af
mov edx, dword [ebp - 0xb54]
lea eax, [ebp - 0x618]
push 0
push eax
mov ecx, esi
lea edx, [edx - 1]
call fcn.0040f441
lea edx, [ebp - 0xb40]
mov ecx, esi
call fcn.00405791
cmp eax, ebx
jne 0x40adba
lea ecx, [ebp - 0xb3c]
call fcn.0040f1de
jmp 0x40aa83
lea eax, [ebp - 0x418]
push eax
push dword [ebp - 0xb40]
push 0x401218
call dword [sym.imp.api_ms_win_core_privateprofile_l1_1_1.dll_WritePrivateProfileSectionW]
test eax, eax
je 0x40ae49
push dword [ebp - 0xb54]
mov ecx, 0xcb
call fcn.0040d995
push eax
push ebx
push ebx
push ebx
call fcn.00411dc9
pop ecx
push eax
call fcn.0040e6ab
mov eax, dword [0x41248c]
add esp, 0x14
test bl, al
je 0x40ae07
or eax, 0x21
jmp 0x40ae0a
or eax, 0x20
push eax
mov dword [0x41248c], eax
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFileAttributesW]
test eax, eax
jne 0x40aef4
mov ecx, 0x8d
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
xor ebx, ebx
jmp 0x40aef4
mov ecx, 0x84
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
lea ecx, [ebp - 0xb3c]
call fcn.0040f1de
jmp 0x40a9e3
push 8
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
push 2
call fcn.00411dc9
pop ecx
mov edx, 0x10001
mov ecx, eax
call fcn.0040d7c6
jmp 0x40aeaf
push 0x7d
pop ecx
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
mov eax, dword [0x41248c]
test bl, al
je 0x40aebd
or eax, 0x21
jmp 0x40aec0
or eax, 0x20
push eax
mov dword [0x41248c], eax
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFileAttributesW]
test eax, eax
jne 0x40aef4
mov ecx, 0x8d
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
lea ecx, [ebp - 0xb3c]
call fcn.0040f1de
lea ecx, [ebp - 0xb40]
call fcn.0040eb2f
cmp dword [ebp - 0xb44], 0
je 0x40af1b
push ecx
mov ecx, edi
call fcn.0041005b
lea ecx, [ebp - 0xb4c]
call fcn.0040eb2f
lea ecx, [ebp - 0xb48]
call fcn.0040eb2f
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004117f0
leave
ret