Function at 0x4059dc
Capabilities:
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xac4
mov eax, dword [0x412004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x8bc], edx
push 0x1fc
lea eax, [ebp - 0x408]
mov dword [ebp - 0x89c], ebx
mov edi, ecx
mov dword [ebp - 0x8a8], ebx
push ebx
push eax
mov dword [ebp - 0x8ac], edi
mov dword [ebp - 0x8b8], ebx
mov dword [ebp - 0x8a0], ebx
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x208]
mov esi, 0x1fe
push esi
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x608]
push 0x1fc
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x8a4], ebx
lea eax, [ebp - 0xac0]
mov dword [ebp - 0x890], ebx
mov dword [ebp - 0x8b0], ebx
push esi
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x888]
mov ecx, 0x280
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x405a8a
push 0xfe
mov edx, 0x4011ec
lea ecx, [ebp - 0x408]
call fcn.0040e35d
mov esi, 0x40110c
lea ecx, [ebp - 0x888]
push 8
mov edx, esi
call fcn.0040e2ff
xor ebx, ebx
mov dword [ebp - 0x868], 0x401144
lea eax, [ebp - 0x8b8]
mov dword [ebp - 0x880], 0xa
inc ebx
mov dword [ebp - 0x85c], eax
push 8
mov edx, esi
mov dword [ebp - 0x870], ebx
lea ecx, [ebp - 0x838]
call fcn.0040e2ff
xor esi, esi
mov dword [ebp - 0x818], 0x4011f0
push 8
mov edx, 0x40110c
mov dword [ebp - 0x828], 0x12000
lea ecx, [ebp - 0x7e8]
mov dword [ebp - 0x824], esi
mov dword [ebp - 0x830], ebx
mov dword [ebp - 0x820], ebx
call fcn.0040e2ff
push 8
mov edx, 0x40110c
mov dword [ebp - 0x7c8], 0x4011f4
lea ecx, [ebp - 0x798]
mov dword [ebp - 0x7d8], 0x12000
mov dword [ebp - 0x7d4], esi
mov dword [ebp - 0x7e0], ebx
mov dword [ebp - 0x7d0], ebx
call fcn.0040e2ff
lea eax, [ebp - 0x408]
mov dword [ebp - 0x778], 0x4011f8
push 8
mov edx, 0x40110c
mov dword [ebp - 0x788], 0x10
lea ecx, [ebp - 0x748]
mov dword [ebp - 0x784], esi
mov dword [ebp - 0x790], ebx
mov dword [ebp - 0x780], ebx
mov dword [ebp - 0x76c], eax
mov dword [ebp - 0x768], 0xfe
call fcn.0040e2ff
lea eax, [ebp - 0x8a8]
mov dword [ebp - 0x728], 0x40113c
push 8
mov edx, 0x40110c
mov dword [ebp - 0x738], 0x20000
lea ecx, [ebp - 0x6f8]
mov dword [ebp - 0x734], esi
mov dword [ebp - 0x740], 0xa
mov dword [ebp - 0x730], ebx
mov dword [ebp - 0x71c], eax
call fcn.0040e2ff
lea eax, [ebp - 0x8a0]
mov dword [ebp - 0x6d8], 0x401200
push 8
mov edx, 0x40110c
mov dword [ebp - 0x6e8], 0x82000
lea ecx, [ebp - 0x6a8]
mov dword [ebp - 0x6e4], esi
mov dword [ebp - 0x6f0], 3
mov dword [ebp - 0x6e0], ebx
mov dword [ebp - 0x6cc], eax
call fcn.0040e2ff
lea eax, [ebp - 0x608]
mov dword [ebp - 0x688], 0x401104
mov dword [ebp - 0x698], 0xc0000
mov dword [ebp - 0x694], esi
mov dword [ebp - 0x6a0], ebx
mov dword [ebp - 0x690], ebx
mov dword [ebp - 0x67c], eax
mov dword [ebp - 0x678], 0xfe
push 8
mov edx, 0x40110c
lea ecx, [ebp - 0x658]
call fcn.0040e2ff
mov edx, dword [ebp - 0x8bc]
lea eax, [ebp - 0x8b0]
push ecx
mov dword [ebp - 0x62c], eax
mov ecx, edi
lea eax, [ebp - 0x888]
mov dword [ebp - 0x638], 0x4013f8
push eax
push 8
push esi
mov dword [ebp - 0x650], 0xa
mov dword [ebp - 0x640], ebx
call fcn.00411190
test eax, eax
jne 0x405cec
push 2
call fcn.00411dc9
pop ecx
mov edx, 0x20001
mov ecx, eax
call fcn.0040d7c6
jmp 0x40641a
mov eax, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x80c]
mov dword [ebp - 0x898], edi
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x894], eax
test eax, eax
jne 0x405d28
mov ecx, 0x1fc
call fcn.0040ebd3
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x894], eax
test eax, eax
je 0x405cd3
push ecx
xor edx, edx
mov ecx, edi
call fcn.0040df49
push ecx
mov ecx, dword [ebp - 0x88c]
xor edx, edx
call fcn.0040df49
push ecx
xor edx, edx
lea ecx, [ebp - 0x608]
call fcn.0040df49
cmp dword [ebp - 0x8a8], ebx
jne 0x405d81
cmp dword [ebp - 0x8ac], 3
jbe 0x405d81
mov ecx, 0xb3
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
jmp 0x40641a
cmp dword [ebp - 0x81c], esi
je 0x405db6
mov ecx, edi
call fcn.0040e3f2
test eax, eax
jne 0x405db6
mov ecx, 0x30e
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
jmp 0x406404
mov eax, dword [ebp - 0x7cc]
test eax, eax
je 0x405ddc
mov ecx, dword [ebp - 0x88c]
call fcn.0040e3f2
test eax, eax
jne 0x405dd6
mov ecx, 0x30f
jmp 0x405d99
mov eax, dword [ebp - 0x7cc]
cmp dword [ebp - 0x81c], esi
jne 0x405def
test eax, eax
je 0x405df3
mov ecx, 0x30b
jmp 0x405d99
test eax, eax
jne 0x405e02
cmp dword [ebp - 0x77c], esi
je 0x405e02
mov ecx, 0x30c
jmp 0x405d99
mov ecx, edi
cmp dword [ebp - 0x8a8], esi
je 0x405e49
call fcn.0040cc0e
cmp eax, ebx
je 0x406404
mov edi, 0xb4
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, 0xca
jbe 0x405e1e
xor eax, eax
mov ebx, eax
jmp 0x406404
call fcn.0040f9d8
test eax, eax
je 0x405e82
call fcn.0040f91b
test eax, eax
jne 0x405e82
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 0x40641a
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 0x405ef1
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 0x405ef1
push 0x401208
push edi
call dword [sym.imp.msvcrt.dll_wcstok]
mov dword [ebp - 0x8ac], eax
pop ecx
pop ecx
test eax, eax
jne 0x405eda
push esi
push ebx
mov edx, 0x401208
mov ecx, edi
call fcn.0040e401
test eax, eax
je 0x405eda
mov ecx, 0xe7d
jmp 0x405d99
mov ecx, edi
call fcn.0040ed63
mov edx, dword [ebp - 0x8ac]
mov ecx, edi
shr eax, 1
push eax
call fcn.0040e35d
mov ecx, edi
call fcn.0040f9d8
test eax, eax
jne 0x405f55
cmp dword [ebp - 0x77c], esi
je 0x405f2a
push esi
push ebx
mov edx, 0x4011ec
lea ecx, [ebp - 0x408]
call fcn.0040e401
test eax, eax
jne 0x405f22
mov dword [ebp - 0x89c], ebx
jmp 0x405f55
cmp dword [ebp - 0x77c], esi
jne 0x405f55
cmp dword [ebp - 0x81c], esi
jne 0x405f3a
cmp dword [ebp - 0x7cc], esi
je 0x405f55
push 0xfe
mov edx, 0x401104
mov dword [ebp - 0x89c], ebx
lea ecx, [ebp - 0x408]
call fcn.0040e35d
mov ecx, edi
call fcn.0040f9d8
cmp eax, ebx
jne 0x405f8c
mov ecx, dword [ebp - 0x88c]
call fcn.0040e3f2
test eax, eax
je 0x405f8c
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
mov edx, dword [ebp - 0x88c]
lea eax, [ebp - 0x890]
push eax
mov eax, dword [ebp - 0x89c]
mov ecx, edi
push eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x408]
push eax
call fcn.004052aa
test eax, eax
je 0x4063f3
lea ecx, [ebp - 0x208]
call fcn.00404f7f
mov ecx, eax
mov dword [ebp - 0x88c], ecx
test ecx, ecx
jne 0x406022
mov eax, dword [0x41248c]
test bl, al
je 0x405fe2
or eax, 0x21
jmp 0x405fe5
or eax, 0x20
push eax
mov dword [0x41248c], eax
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFileAttributesW]
test eax, eax
jne 0x4063f3
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 0x4063f3
mov edx, dword [ebp - 0x8a0]
test edx, edx
je 0x406388
call fcn.0040f4ff
cmp edx, eax
ja 0x406388
dec edx
call fcn.0040f556
mov dword [ebp - 0x89c], eax
lea eax, [ebp - 0x608]
push eax
call dword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrlenW]
mov ecx, dword [ebp - 0x89c]
mov esi, eax
call fcn.0040e3f2
add eax, esi
lea ecx, [eax*2 + 0x14]
call fcn.0040ebd3
mov esi, eax
mov dword [ebp - 0x8b4], esi
test esi, esi
jne 0x406096
push 2
call fcn.00411dc9
pop ecx
mov edx, 0x20001
mov ecx, eax
call fcn.0040d7c6
jmp 0x4063a3
mov ecx, esi
call fcn.0040ed63
mov edx, dword [ebp - 0x89c]
mov ecx, esi
shr eax, 1
push eax
call fcn.0040e35d
cmp dword [ebp - 0x8b0], 0
jne 0x4060ea
push 0x22
push esi
call dword [sym.imp.msvcrt.dll_wcsrchr]
pop ecx
pop ecx
test eax, eax
jne 0x4060e4
mov ecx, 0x829
call fcn.0040d995
push 2
mov esi, eax
call fcn.00411dc9
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040e454
jmp 0x406157
xor ecx, ecx
mov word [eax + 2], cx
lea eax, [ebp - 0x608]
push eax
call dword [sym.imp.api_ms_win_core_string_l2_1_0.dll_CharLowerW]
mov ecx, esi
call fcn.0040ed63
shr eax, 1
mov edx, 0x401254
push eax
mov ecx, esi
call fcn.0040e3bd
mov ecx, esi
call fcn.0040ed63
shr eax, 1
lea edx, [ebp - 0x608]
push eax
mov ecx, esi
call fcn.0040e3bd
mov ecx, esi
call fcn.0040e3f2
mov ecx, 0xfe
cmp eax, ecx
jbe 0x4061d9
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
mov eax, dword [0x41248c]
test bl, al
je 0x406165
or eax, 0x21
jmp 0x406168
or eax, 0x20
push eax
mov dword [0x41248c], eax
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFileAttributesW]
test eax, eax
jne 0x40619c
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 - 0x88c]
call fcn.0040f1de
cmp dword [ebp - 0x890], 0
je 0x4061b8
push ecx
mov ecx, edi
call fcn.0041005b
lea ecx, [ebp - 0x898]
call fcn.0040eb2f
lea ecx, [ebp - 0x894]
call fcn.0040eb2f
lea ecx, [ebp - 0x8b4]
jmp 0x406415
mov edx, dword [ebp - 0x8a0]
mov ecx, dword [ebp - 0x88c]
lea edx, [edx - 1]
call fcn.0040f4af
mov edx, dword [ebp - 0x8a0]
mov ecx, dword [ebp - 0x88c]
push 0xff
push esi
lea edx, [edx - 1]
call fcn.0040f441
lea ecx, [ebp - 0x8b4]
call fcn.0040eb2f
mov ecx, dword [ebp - 0x88c]
lea edx, [ebp - 0x8a4]
call fcn.00405791
cmp eax, ebx
jne 0x406242
lea ecx, [ebp - 0x88c]
call fcn.0040f1de
lea ecx, [ebp - 0x8a4]
call fcn.0040eb2f
jmp 0x405fd4
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x8a4]
push 0x401218
call dword [sym.imp.api_ms_win_core_privateprofile_l1_1_1.dll_WritePrivateProfileSectionW]
test eax, eax
je 0x40630e
push dword [ebp - 0x8a0]
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 0x406293
or eax, 0x21
jmp 0x406296
or eax, 0x20
push eax
mov dword [0x41248c], eax
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFileAttributesW]
test eax, eax
jne 0x4062ca
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 - 0x88c]
call fcn.0040f1de
lea ecx, [ebp - 0x8a4]
call fcn.0040eb2f
cmp dword [ebp - 0x890], 0
je 0x4062f1
push ecx
mov ecx, edi
call fcn.0041005b
lea ecx, [ebp - 0x898]
call fcn.0040eb2f
lea ecx, [ebp - 0x894]
call fcn.0040eb2f
xor eax, eax
jmp 0x40641c
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 - 0x88c]
call fcn.0040f1de
mov eax, dword [0x41248c]
test bl, al
je 0x406344
or eax, 0x21
jmp 0x406347
or eax, 0x20
push eax
mov dword [0x41248c], eax
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFileAttributesW]
test eax, eax
jne 0x40637b
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 - 0x8a4]
call fcn.0040eb2f
jmp 0x4063f3
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 0x4063b1
or eax, 0x21
jmp 0x4063b4
or eax, 0x20
push eax
mov dword [0x41248c], eax
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFileAttributesW]
test eax, eax
jne 0x4063e8
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 - 0x88c]
call fcn.0040f1de
cmp dword [ebp - 0x890], 0
je 0x406404
push ecx
mov ecx, edi
call fcn.0041005b
lea ecx, [ebp - 0x898]
call fcn.0040eb2f
lea ecx, [ebp - 0x894]
call fcn.0040eb2f
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004117f0
leave
ret