Function at 0x40d5f4
Capabilities:
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x56
push 0
push 0
dec ecx
jne 0x40d5fd
xchg dword [ebp - 4], ecx
push ebx
mov ebx, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004041c0
mov eax, dword [ebp - 8]
call fcn.004041c0
lea eax, [ebp - 0x160]
mov edx, dword [0x40584c]
call fcn.004043f8
xor eax, eax
push ebp
push 0x40e28b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x505d84]
cmp eax, dword [0x505d90]
jge 0x40e24f
mov eax, dword [ebp - 4]
call fcn.00406440
test al, al
je 0x40d669
mov eax, dword [ebp - 4]
call fcn.0040ce58
jmp 0x40e24f
mov eax, dword [ebp - 4]
call fcn.00406568
cmp byte [eax], 0x5c
je 0x40d683
lea eax, [ebp - 4]
mov edx, 0x40e2a0
call fcn.00403fe0
test bl, bl
je 0x40d77a
lea eax, [ebp - 0x164]
mov ecx, 0x40e2ac
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x164]
lea ecx, [ebp - 0x160]
mov edx, 0x3f
call fcn.004064d8
test eax, eax
jne 0x40d77a
xor eax, eax
push ebp
push 0x40d773
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x158]
and eax, 0x10
cmp eax, 0x10
jne 0x40d72d
mov eax, dword [ebp - 0x154]
mov edx, 0x40e2b8
call fcn.0040411c
je 0x40d72d
mov eax, dword [ebp - 0x154]
mov edx, 0x40e2c4
call fcn.0040411c
je 0x40d72d
mov eax, dword [0x505d88]
cmp eax, dword [0x505d94]
jg 0x40d72d
lea eax, [ebp - 0x168]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x168]
mov ecx, ebx
mov edx, dword [ebp - 8]
call fcn.0040d5f4
lea eax, [ebp - 0x160]
call fcn.00406528
test eax, eax
jne 0x40d75a
mov eax, dword [0x505d88]
cmp eax, dword [0x505d94]
jg 0x40d75a
mov eax, dword [0x505d84]
cmp eax, dword [0x505d90]
jle 0x40d6ca
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40d77a
lea eax, [ebp - 0x160]
call fcn.0040654c
ret
lea eax, [ebp - 0x16c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x16c]
lea ecx, [ebp - 0x160]
mov edx, 0x3f
call fcn.004064d8
test eax, eax
jne 0x40e24f
xor eax, eax
push ebp
push 0x40e248
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x158]
and eax, 0x10
cmp eax, 0x10
je 0x40e20f
lea edx, [ebp - 0x170]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x170]
push eax
lea edx, [ebp - 0x174]
mov eax, 0x40e2d0
call fcn.00406284
mov eax, dword [ebp - 0x174]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x178]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x178]
push eax
lea edx, [ebp - 0x17c]
mov eax, 0x40e2e0
call fcn.00406284
mov eax, dword [ebp - 0x17c]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x180]
push eax
lea edx, [ebp - 0x184]
mov eax, 0x40e2f0
call fcn.00406284
mov eax, dword [ebp - 0x184]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x188]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x188]
push eax
lea edx, [ebp - 0x18c]
mov eax, 0x40e300
call fcn.00406284
mov eax, dword [ebp - 0x18c]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x190]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x190]
push eax
lea edx, [ebp - 0x194]
mov eax, 0x40e310
call fcn.00406284
mov eax, dword [ebp - 0x194]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x198]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x198]
push eax
lea edx, [ebp - 0x19c]
mov eax, 0x40e320
call fcn.00406284
mov eax, dword [ebp - 0x19c]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x1a0]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x1a0]
push eax
lea edx, [ebp - 0x1a4]
mov eax, 0x40e330
call fcn.00406284
mov eax, dword [ebp - 0x1a4]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x1a8]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x1a8]
push eax
lea edx, [ebp - 0x1ac]
mov eax, 0x40e340
call fcn.00406284
mov eax, dword [ebp - 0x1ac]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x1b0]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x1b0]
push eax
lea edx, [ebp - 0x1b4]
mov eax, 0x40e350
call fcn.00406284
mov eax, dword [ebp - 0x1b4]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x1b8]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x1b8]
push eax
lea edx, [ebp - 0x1bc]
mov eax, 0x40e360
call fcn.00406284
mov eax, dword [ebp - 0x1bc]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x1c0]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x1c0]
push eax
lea edx, [ebp - 0x1c4]
mov eax, 0x40e370
call fcn.00406284
mov eax, dword [ebp - 0x1c4]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x1c8]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x1c8]
push eax
lea edx, [ebp - 0x1cc]
mov eax, 0x40e310
call fcn.00406284
mov eax, dword [ebp - 0x1cc]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x1d0]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x1d0]
push eax
lea edx, [ebp - 0x1d4]
mov eax, 0x40e380
call fcn.00406284
mov eax, dword [ebp - 0x1d4]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x1d8]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x1d8]
push eax
lea edx, [ebp - 0x1dc]
mov eax, 0x40e390
call fcn.00406284
mov eax, dword [ebp - 0x1dc]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x1e0]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x1e0]
push eax
lea edx, [ebp - 0x1e4]
mov eax, 0x40e3a0
call fcn.00406284
mov eax, dword [ebp - 0x1e4]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x1e8]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x1e8]
push eax
lea edx, [ebp - 0x1ec]
mov eax, 0x40e3b0
call fcn.00406284
mov eax, dword [ebp - 0x1ec]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x1f0]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x1f0]
push eax
lea edx, [ebp - 0x1f4]
mov eax, 0x40e3c0
call fcn.00406284
mov eax, dword [ebp - 0x1f4]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x1f8]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x1f8]
push eax
lea edx, [ebp - 0x1fc]
mov eax, 0x40e3d0
call fcn.00406284
mov eax, dword [ebp - 0x1fc]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x200]
push eax
lea edx, [ebp - 0x204]
mov eax, 0x40e340
call fcn.00406284
mov eax, dword [ebp - 0x204]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x208]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x208]
push eax
lea edx, [ebp - 0x20c]
mov eax, 0x40e3e0
call fcn.00406284
mov eax, dword [ebp - 0x20c]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x210]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x210]
push eax
lea edx, [ebp - 0x214]
mov eax, 0x40e3f0
call fcn.00406284
mov eax, dword [ebp - 0x214]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x218]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x218]
push eax
lea edx, [ebp - 0x21c]
mov eax, 0x40e400
call fcn.00406284
mov eax, dword [ebp - 0x21c]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40dd25
lea edx, [ebp - 0x220]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x220]
push eax
lea edx, [ebp - 0x224]
mov eax, 0x40e410
call fcn.00406284
mov eax, dword [ebp - 0x224]
pop edx
call fcn.004042b8
test eax, eax
jle 0x40df4b
lea edx, [ebp - 0x228]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x228]
mov edx, 0x40e420
call fcn.0040411c
jne 0x40dd77
lea eax, [ebp - 0x22c]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x22c]
push eax
mov ecx, 0x40e420
mov edx, 0x40e434
mov eax, 0x80000002
call fcn.0040bef0
lea edx, [ebp - 0x230]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x230]
mov edx, 0x40e490
call fcn.0040411c
jne 0x40dde8
lea eax, [ebp - 0x234]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x234]
push eax
mov ecx, 0x40e490
mov edx, 0x40e434
mov eax, 0x80000002
call fcn.0040bef0
lea eax, [ebp - 0x238]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x238]
call fcn.0040cf84
lea edx, [ebp - 0x23c]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x23c]
mov edx, 0x40e4a4
call fcn.0040411c
jne 0x40de59
lea eax, [ebp - 0x240]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x240]
push eax
mov ecx, 0x40e4a4
mov edx, 0x40e434
mov eax, 0x80000002
call fcn.0040bef0
lea eax, [ebp - 0x244]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x244]
call fcn.0040d15c
lea eax, [ebp - 0x248]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x248]
call fcn.0040c674
test al, al
jne 0x40df4b
cmp dword [ebp - 0x15c], 0x2faf080
jg 0x40df4b
lea eax, [ebp - 0x24c]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x24c]
call fcn.004041d0
push eax
call sub.kernel32.dll_GetFileAttributesA
mov ebx, eax
push 0x80
lea eax, [ebp - 0x250]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x250]
call fcn.004041d0
push eax
call sub.kernel32.dll_SetFileAttributesA
lea eax, [ebp - 0x254]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x254]
call fcn.0040ce58
push ebx
lea eax, [ebp - 0x258]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x258]
call fcn.004041d0
push eax
call sub.kernel32.dll_SetFileAttributesA
lea eax, [ebp - 0x25c]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00404024
mov eax, dword [ebp - 0x25c]
call fcn.0040c4cc
inc dword [0x505d88]
mov eax, dword [0x505d78]
cmp eax, dword [0x505d94]
jg 0x40e00f
lea edx, [ebp - 0x260]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x260]
push eax
lea edx, [ebp - 0x264]
mov eax, 0x40e4bc
call fcn.00406284
mov eax, dword [ebp - 0x264]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40e004
lea edx, [ebp - 0x268]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x268]
push eax
lea edx, [ebp - 0x26c]
mov eax, 0x40e4cc
call fcn.00406284
mov eax, dword [ebp - 0x26c]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40e004
lea edx, [ebp - 0x270]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x270]
push eax
lea edx, [ebp - 0x274]
mov eax, 0x40e4dc
call fcn.00406284
mov eax, dword [ebp - 0x274]
pop edx
call fcn.004042b8
test eax, eax
jle 0x40e00f
mov eax, dword [ebp - 0x154]
call fcn.0040c9f4
mov eax, dword [0x505d7c]
cmp eax, dword [0x505d94]
jg 0x40e10f
lea edx, [ebp - 0x278]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x278]
push eax
lea edx, [ebp - 0x27c]
mov eax, 0x40e3b0
call fcn.00406284
mov eax, dword [ebp - 0x27c]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40e104
lea edx, [ebp - 0x280]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x280]
push eax
lea edx, [ebp - 0x284]
mov eax, 0x40e3d0
call fcn.00406284
mov eax, dword [ebp - 0x284]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40e104
lea edx, [ebp - 0x288]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x288]
push eax
lea edx, [ebp - 0x28c]
mov eax, 0x40e3c0
call fcn.00406284
mov eax, dword [ebp - 0x28c]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40e104
lea edx, [ebp - 0x290]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x290]
push eax
lea edx, [ebp - 0x294]
mov eax, 0x40e4ec
call fcn.00406284
mov eax, dword [ebp - 0x294]
pop edx
call fcn.004042b8
test eax, eax
jle 0x40e10f
mov eax, dword [ebp - 0x154]
call fcn.0040cb40
mov eax, dword [0x505d74]
cmp eax, dword [0x505d94]
jg 0x40e20f
lea edx, [ebp - 0x298]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x298]
push eax
lea edx, [ebp - 0x29c]
mov eax, 0x40e4fc
call fcn.00406284
mov eax, dword [ebp - 0x29c]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40e204
lea edx, [ebp - 0x2a0]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x2a0]
push eax
lea edx, [ebp - 0x2a4]
mov eax, 0x40e50c
call fcn.00406284
mov eax, dword [ebp - 0x2a4]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40e204
lea edx, [ebp - 0x2a8]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x2a8]
push eax
lea edx, [ebp - 0x2ac]
mov eax, 0x40e51c
call fcn.00406284
mov eax, dword [ebp - 0x2ac]
pop edx
call fcn.004042b8
test eax, eax
jg 0x40e204
lea edx, [ebp - 0x2b0]
mov eax, dword [ebp - 0x154]
call fcn.00406284
mov eax, dword [ebp - 0x2b0]
push eax
lea edx, [ebp - 0x2b4]
mov eax, 0x40e52c
call fcn.00406284
mov eax, dword [ebp - 0x2b4]
pop edx
call fcn.004042b8
test eax, eax
jle 0x40e20f
mov eax, dword [ebp - 0x154]
call fcn.0040cc8c
lea eax, [ebp - 0x160]
call fcn.00406528
test eax, eax
jne 0x40e22f
mov eax, dword [0x505d88]
cmp eax, dword [0x505d94]
jle 0x40d7b7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40e24f
lea eax, [ebp - 0x160]
call fcn.0040654c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40e292
lea eax, [ebp - 0x2b4]
mov edx, 0x55
call fcn.00403d8c
lea eax, [ebp - 0x160]
mov edx, dword [0x40584c]
call fcn.004044bc
lea eax, [ebp - 8]
mov edx, 2
call fcn.00403d8c
ret