Function at 0x41858f
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4544ab
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xcc
and dword [ebp - 0x10], 0
push str.GRegMrFsRedHomePath
lea ecx, [ebp - 0xd8]
call fcn.004117cd
and dword [ebp - 4], 0
movzx eax, byte [0x4793ac]
test eax, eax
jne 0x41895a
mov byte [0x4793ac], 1
push 0
lea ecx, [ebp - 0xc4]
call fcn.00417311
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.0040661b
mov byte [ebp - 4], 2
push str.SOFTWAREMARCOTTE
lea ecx, [ebp - 0x84]
call fcn.0040650c
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x10]
or eax, 1
mov dword [ebp - 0x10], eax
push 1
push 0x20019
lea eax, [ebp - 0x84]
push eax
push 0x80000002
lea ecx, [ebp - 0xc4]
call fcn.0041d3df
test eax, eax
je 0x418684
push str.FsRedHome
lea ecx, [ebp - 0x60]
call fcn.0040650c
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x10]
or eax, 2
mov dword [ebp - 0x10], eax
push 1
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0041b3fb
test eax, eax
je 0x418684
push 0
lea ecx, [ebp - 0x20]
call fcn.00406a95
movsx eax, byte [eax]
test eax, eax
je 0x418684
and dword [ebp - 0x24], 0
jmp 0x41868b
mov dword [ebp - 0x24], 1
mov al, byte [ebp - 0x24]
mov byte [ebp - 0x13], al
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x10]
and eax, 2
je 0x4186ac
and dword [ebp - 0x10], 0xfffffffd
lea ecx, [ebp - 0x60]
call fcn.004066e8
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x10]
and eax, 1
je 0x4186ca
and dword [ebp - 0x10], 0xfffffffe
lea ecx, [ebp - 0x84]
call fcn.004066e8
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x41885a
cmp dword [ebp + 0xc], 0
je 0x4186ec
push dword [ebp + 0xc]
lea ecx, [ebp - 0x20]
call fcn.00406856
jmp 0x4187de
push str.c:marcottereg
lea ecx, [ebp - 0x20]
call fcn.00406856
push str.c:marcottereg
lea ecx, [ebp - 0x45]
call fcn.0040650c
mov byte [ebp - 4], 5
lea eax, [ebp - 0x45]
push eax
call fcn.0040f635
pop ecx
test eax, eax
jne 0x418721
mov dword [ebp - 0x28], 1
jmp 0x418725
and dword [ebp - 0x28], 0
mov al, byte [ebp - 0x28]
mov byte [ebp - 0x14], al
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x45]
call fcn.004066e8
movzx eax, byte [ebp - 0x14]
test eax, eax
je 0x4187de
push 0x23
lea eax, [ebp - 0x96]
push eax
call fcn.0040f8cf
pop ecx
pop ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 6
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x20]
call fcn.0040676c
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x96]
call fcn.004066e8
push 0
lea ecx, [ebp - 0x20]
call fcn.00408473
movsx eax, al
cmp eax, 0x5c
je 0x4187b5
push 0x458040
lea ecx, [ebp - 0x7b]
call fcn.0040650c
mov byte [ebp - 4], 7
lea eax, [ebp - 0x7b]
push eax
lea ecx, [ebp - 0x20]
call fcn.00406fcc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7b]
call fcn.004066e8
push str.Marcotte_settings
lea ecx, [ebp - 0x72]
call fcn.0040650c
mov byte [ebp - 4], 8
lea eax, [ebp - 0x72]
push eax
lea ecx, [ebp - 0x20]
call fcn.00406fcc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x72]
call fcn.004066e8
push str.SOFTWAREMARCOTTE
lea ecx, [ebp - 0x8d]
call fcn.0040650c
mov byte [ebp - 4], 9
push 0x20006
lea eax, [ebp - 0x8d]
push eax
push 0x80000002
lea ecx, [ebp - 0xc4]
call fcn.00417874
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8d]
call fcn.004066e8
cmp dword [ebp - 0x2c], 0
je 0x418858
push str.FsRedHome
lea ecx, [ebp - 0x4e]
call fcn.0040650c
mov byte [ebp - 4], 0xa
push 1
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x4e]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0041de9e
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4e]
call fcn.004066e8
jmp 0x418899
push 0
lea ecx, [ebp - 0x20]
call fcn.00408473
movsx eax, al
cmp eax, 0x5c
jne 0x418899
push 0x458040
lea ecx, [ebp - 0x57]
call fcn.0040650c
mov byte [ebp - 4], 0xb
push 1
push 0
lea eax, [ebp - 0x57]
push eax
lea ecx, [ebp - 0x20]
call fcn.00408dfb
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x57]
call fcn.004066e8
push 0x458040
lea eax, [ebp - 0x9f]
push eax
lea ecx, [ebp - 0x20]
call fcn.00406c9e
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x34]
call fcn.00406b07
push eax
push 0x4793b0
call fcn.0043a100
pop ecx
pop ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x9f]
call fcn.004066e8
push 0x4793b0
lea ecx, [ebp - 0x69]
call fcn.0040650c
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x69]
push eax
call fcn.0040f704
pop ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x69]
call fcn.004066e8
push 2
lea ecx, [ebp - 0x20]
call fcn.00406b07
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x20]
push eax
call fcn.0040f635
pop ecx
test eax, eax
je 0x418932
lea eax, [ebp - 0x20]
push eax
call fcn.004103ba
pop ecx
test eax, eax
jne 0x41893f
xor eax, eax
inc eax
imul eax, eax, 0
mov byte [eax + 0x4793b0], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.004066e8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc4]
call fcn.004174ae
xor eax, eax
inc eax
imul eax, eax, 0
movsx eax, byte [eax + 0x4793b0]
test eax, eax
je 0x418990
push 0x4793b0
mov ecx, dword [ebp + 8]
call fcn.00406856
mov byte [ebp - 0x11], 1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd8]
call fcn.00411939
mov al, byte [ebp - 0x11]
jmp 0x4189c2
push str.Registry_path_is_empty_
push str.GREG
push 0x46b
push str.D:projectsutil_srcgreg.cpp
call fcn.00405307
add esp, 0x10
mov byte [ebp - 0x12], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd8]
call fcn.00411939
mov al, byte [ebp - 0x12]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret