Function at 0x401040
Capabilities:
Accept command line arguments

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4028e0
push eax
mov dword fs:[0], esp
sub esp, 0x74
push ebx
push ebp
push esi
push edi
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call sub.MFC42.DLL_AfxWinInit
test eax, eax
jne 0x401098
mov eax, dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
push str.Fatal_Error:_MFC_initialization_failed
push eax
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_const__]
push eax
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 0xc
jmp 0x402550
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1c]
mov dword [esp + 0x8c], edi
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x20]
mov byte [esp + 0x8c], 1
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x18]
mov byte [esp + 0x8c], 2
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x8c], 3
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x24]
mov byte [esp + 0x8c], 4
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x28]
mov byte [esp + 0x8c], 5
call sub.MFC42.DLL_CString::CString_2
mov esi, dword [esp + 0x94]
mov byte [esp + 0x8c], 6
cmp esi, 6
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], 4
mov dword [esp + 0x30], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x40], 1
mov dword [esp + 0x2c], edi
jl 0x402304
cmp esi, 8
jg 0x402304
mov ebx, dword [esp + 0x98]
mov ecx, dword [ebx + 4]
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::operator_1
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x1c]
push edx
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [ebx + 0xc]
lea ecx, [esp + 0x18]
push eax
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [ebx + 0x10]
push ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::operator_1
mov edx, dword [ebx + 0x14]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::operator_1
cmp esi, 6
mov esi, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov dword [esp + 0x38], 6
jle 0x40132c
lea ebp, [ebx + 0x18]
mov eax, dword [ebp]
lea ecx, [esp + 0x34]
push eax
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x50]
push 3
push ecx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x94], 7
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x405018
push eax
call esi
add esp, 8
lea ecx, [esp + 0x50]
test eax, eax
sete bl
call fcn.004026d4
test bl, bl
push 3
je 0x40122e
lea edx, [esp + 0x50]
lea ecx, [esp + 0x38]
push edx
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x90], 8
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x4c]
mov byte [esp + 0x8c], 7
call fcn.004026d4
mov dword [esp + 0x44], 1
jmp 0x401297
lea eax, [esp + 0x60]
lea ecx, [esp + 0x38]
push eax
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x405014
push eax
call esi
add esp, 8
lea ecx, [esp + 0x5c]
test eax, eax
sete bl
call fcn.004026d4
test bl, bl
je 0x4012e4
lea ecx, [esp + 0x60]
push 3
push ecx
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x90], 9
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x60]
mov byte [esp + 0x8c], 7
call fcn.004026d4
mov edi, 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x8c], 6
call fcn.004026d4
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x94]
inc eax
add ebp, 4
cmp eax, ecx
mov dword [esp + 0x38], eax
jl 0x4011ad
test edi, edi
je 0x40132c
mov eax, dword [esp + 0x28]
push 0x405010
push eax
call esi
add esp, 8
test eax, eax
jne 0x40130d
mov dword [esp + 0x3c], 0x20000004
jmp 0x40132c
mov edx, dword [esp + 0x34]
push edx
push str._nERROR:_Invalid_parameter_specified:__s__n
call dword [sym.imp.MSVCRT.dll_printf]
add esp, 8
lea ecx, [esp + 0x34]
mov byte [esp + 0x8c], 6
call fcn.004026d4
jmp 0x401e09
mov ecx, dword [esp + 0x28]
push 0x404fe0
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4013da
mov dword [esp + 0x3c], 0x80000004
mov edx, dword [esp + 0x18]
push str._deny
push edx
call esi
add esp, 8
test eax, eax
je 0x4013f9
mov eax, dword [esp + 0x18]
push 0x404fd4
push eax
call esi
add esp, 8
test eax, eax
je 0x4013f9
mov ecx, dword [esp + 0x18]
push str._revoke
push ecx
call esi
add esp, 8
test eax, eax
je 0x4013f2
mov edx, dword [esp + 0x18]
push 0x404fc8
push edx
call esi
add esp, 8
test eax, eax
je 0x4013f2
mov eax, dword [esp + 0x18]
push str._set
push eax
call esi
add esp, 8
test eax, eax
je 0x4013eb
mov ecx, dword [esp + 0x18]
push 0x404fbc
push ecx
call esi
add esp, 8
test eax, eax
je 0x4013eb
mov edx, dword [esp + 0x18]
push str._grant
push edx
call esi
add esp, 8
test eax, eax
je 0x4013e4
mov eax, dword [esp + 0x18]
push 0x404fb0
push eax
call esi
add esp, 8
test eax, eax
je 0x4013e4
push str._nERROR:_No_valid_action_specified__deny___grant___revoke___set__n
jmp 0x401e00
push str._nERROR:_No_valid_inheritance_from_parent_specified_yes__no__n
jmp 0x401e00
mov ebp, 1
jmp 0x4013fe
mov ebp, 2
jmp 0x4013fe
mov ebp, 4
jmp 0x4013fe
mov ebp, 3
mov ecx, dword [esp + 0x1c]
push str._dir
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4017dd
mov edx, dword [esp + 0x10]
push str._read
push edx
mov dword [esp + 0x40], 1
call esi
add esp, 8
test eax, eax
jne 0x40144f
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x20089
jmp 0x401d58
mov eax, dword [esp + 0x10]
push str._write
push eax
call esi
add esp, 8
test eax, eax
jne 0x401481
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x116
jmp 0x401d58
mov ecx, dword [esp + 0x10]
push str._list_folder
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4014b3
mov esi, ebp
mov edi, 2
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x200a9
jmp 0x401d58
mov edx, dword [esp + 0x10]
push str._read_ex
push edx
call esi
add esp, 8
test eax, eax
jne 0x4014e5
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x200a9
jmp 0x401d58
mov eax, dword [esp + 0x10]
push str._change
push eax
call esi
add esp, 8
test eax, eax
jne 0x401517
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x301bf
jmp 0x401d58
mov ecx, dword [esp + 0x10]
push str._profile
push ecx
call esi
add esp, 8
test eax, eax
jne 0x401549
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x701bf
jmp 0x401d58
mov edx, dword [esp + 0x10]
push str._full
push edx
call esi
add esp, 8
test eax, eax
je 0x4018d7
mov eax, dword [esp + 0x10]
push str._traverse
push eax
call esi
add esp, 8
test eax, eax
jne 0x40158f
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x20
jmp 0x401d58
mov ecx, dword [esp + 0x10]
push str._list_dir
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4015bc
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
inc esi
jmp 0x401d58
mov edx, dword [esp + 0x10]
push str._read_attributes
push edx
call esi
add esp, 8
test eax, eax
jne 0x4015ee
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x80
jmp 0x401d58
mov eax, dword [esp + 0x10]
push str._read_ea
push eax
call esi
add esp, 8
test eax, eax
jne 0x40161d
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 8
jmp 0x401d58
mov ecx, dword [esp + 0x10]
push str._add_file
push ecx
call esi
add esp, 8
test eax, eax
jne 0x40164c
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 2
jmp 0x401d58
mov edx, dword [esp + 0x10]
push str._add_subdir
push edx
call esi
add esp, 8
test eax, eax
jne 0x40167b
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 4
jmp 0x401d58
mov eax, dword [esp + 0x10]
push str._write_attributes
push eax
call esi
add esp, 8
test eax, eax
jne 0x4016ad
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x100
jmp 0x401d58
mov ecx, dword [esp + 0x10]
push str._write_ea
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4016dc
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x10
jmp 0x401d58
mov edx, dword [esp + 0x10]
push str._delete_child
push edx
call esi
add esp, 8
test eax, eax
jne 0x40170b
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x40
jmp 0x401d58
mov eax, dword [esp + 0x10]
push str._delete
push eax
call esi
add esp, 8
test eax, eax
jne 0x40173d
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x10000
jmp 0x401d58
mov ecx, dword [esp + 0x10]
push str._read_dacl
push ecx
call esi
add esp, 8
test eax, eax
jne 0x40176f
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x20000
jmp 0x401d58
mov edx, dword [esp + 0x10]
push str._write_dacl
push edx
call esi
add esp, 8
test eax, eax
jne 0x4017a1
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x40000
jmp 0x401d58
mov eax, dword [esp + 0x10]
push str._write_owner
push eax
call esi
add esp, 8
test eax, eax
jne 0x4017d3
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x80000
jmp 0x401d58
push str._nERROR:_No_valid_permission_specified_for_directory_security__read__write__list_folder__read_ex__change__profile__full__traverse__list_dir__read_attributes__read_ea__add_file__add_subdir__write_attributes__write_ea__delete_child__delete__read_dacl__write_dacl__write_owner__n
jmp 0x401e00
mov ecx, dword [esp + 0x1c]
push str._file
push ecx
call esi
add esp, 8
test eax, eax
jne 0x401b32
mov edx, dword [esp + 0x10]
push str._read
push edx
mov dword [esp + 0x40], 1
call esi
add esp, 8
test eax, eax
jne 0x40182e
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x20089
jmp 0x401d58
mov eax, dword [esp + 0x10]
push str._write
push eax
call esi
add esp, 8
test eax, eax
jne 0x401860
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x116
jmp 0x401d58
mov ecx, dword [esp + 0x10]
push str._read_ex
push ecx
call esi
add esp, 8
test eax, eax
jne 0x401892
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x200a9
jmp 0x401d58
mov edx, dword [esp + 0x10]
push str._change
push edx
call esi
add esp, 8
test eax, eax
jne 0x4018c4
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x301bf
jmp 0x401d58
mov eax, dword [esp + 0x10]
push str._full
push eax
call esi
add esp, 8
test eax, eax
jne 0x4018f6
mov esi, ebp
mov edi, 3
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0xf01ff
jmp 0x401d58
mov ecx, dword [esp + 0x10]
push str._traverse
push ecx
call esi
add esp, 8
test eax, eax
jne 0x401920
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x20
jmp 0x401d56
mov edx, dword [esp + 0x10]
push str._list_dir
push edx
call esi
add esp, 8
test eax, eax
jne 0x401948
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
inc esi
jmp 0x401d56
mov eax, dword [esp + 0x10]
push str._read_attributes
push eax
call esi
add esp, 8
test eax, eax
jne 0x401975
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x80
jmp 0x401d56
mov ecx, dword [esp + 0x10]
push str._read_ea
push ecx
call esi
add esp, 8
test eax, eax
jne 0x40199f
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 8
jmp 0x401d56
mov edx, dword [esp + 0x10]
push str._add_file
push edx
call esi
add esp, 8
test eax, eax
jne 0x4019c9
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 2
jmp 0x401d56
mov eax, dword [esp + 0x10]
push str._add_subdir
push eax
call esi
add esp, 8
test eax, eax
jne 0x4019f3
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 4
jmp 0x401d56
mov ecx, dword [esp + 0x10]
push str._write_attributes
push ecx
call esi
add esp, 8
test eax, eax
jne 0x401a20
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x100
jmp 0x401d56
mov edx, dword [esp + 0x10]
push str._write_ea
push edx
call esi
add esp, 8
test eax, eax
jne 0x401a4a
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x10
jmp 0x401d56
mov eax, dword [esp + 0x10]
push str._delete_child
push eax
call esi
add esp, 8
test eax, eax
jne 0x401a74
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x40
jmp 0x401d56
mov ecx, dword [esp + 0x10]
push str._delete
push ecx
call esi
add esp, 8
test eax, eax
jne 0x401aa1
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x10000
jmp 0x401d56
mov edx, dword [esp + 0x10]
push str._read_dacl
push edx
call esi
add esp, 8
test eax, eax
jne 0x401ace
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x20000
jmp 0x401d56
mov eax, dword [esp + 0x10]
push str._write_dacl
push eax
call esi
add esp, 8
test eax, eax
jne 0x401afb
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x40000
jmp 0x401d56
mov ecx, dword [esp + 0x10]
push str._write_owner
push ecx
call esi
add esp, 8
test eax, eax
jne 0x401b28
mov esi, ebp
sub esi, 3
neg esi
sbb esi, esi
and esi, 0x100000
add esi, 0x80000
jmp 0x401d56
push str._nERROR:_No_valid_permission_specified_for_file_security__read__write__read_ex__change__full__traverse__list_dir__read_attributes__read_ea__add_file__add_subdir__write_attributes__write_ea__delete_child__delete__read_dacl__write_dacl__write_owner__n
jmp 0x401e00
mov edx, dword [esp + 0x1c]
push str._printer
push edx
call esi
add esp, 8
test eax, eax
jne 0x401c05
mov eax, dword [esp + 0x10]
push str._print
push eax
mov dword [esp + 0x40], 3
call esi
add esp, 8
test eax, eax
jne 0x401b6e
mov esi, 0x20008
jmp 0x401d56
mov ecx, dword [esp + 0x10]
push str._man_printer
push ecx
call esi
add esp, 8
test eax, eax
jne 0x401b8b
mov esi, 0xf000c
jmp 0x401d56
mov edx, dword [esp + 0x10]
push str._man_docs
push edx
call esi
add esp, 8
test eax, eax
jne 0x401bc5
mov dword [esp + 0x40], 2
mov esi, 0xf0010
mov edi, 9
mov dword [esp + 0x50], 0x20000
mov dword [esp + 0x4c], 0xa
jmp 0x401d58
mov eax, dword [esp + 0x10]
push str._full
push eax
call esi
add esp, 8
test eax, eax
jne 0x401bfb
mov dword [esp + 0x40], 2
mov esi, 0xf0010
mov edi, 9
mov dword [esp + 0x50], 0xf000c
mov dword [esp + 0x4c], eax
jmp 0x401d58
push str._nERROR:_No_valid_permission_specified_for_printer_security__print___man_printer___man_docs___full__n
jmp 0x401e00
mov ecx, dword [esp + 0x1c]
push str._registry
push ecx
call esi
add esp, 8
test eax, eax
jne 0x401c6e
mov edx, dword [esp + 0x10]
push str._read
push edx
mov dword [esp + 0x40], 4
call esi
add esp, 8
test eax, eax
jne 0x401c42
mov esi, 0x20019
mov edi, 2
jmp 0x401d58
mov eax, dword [esp + 0x10]
push str._full
push eax
call esi
add esp, 8
test eax, eax
jne 0x401c64
mov esi, 0xf003f
mov edi, 2
jmp 0x401d58
push str._nERROR:_No_valid_permission_specified_for_registry_security__read___full__n
jmp 0x401e00
mov ecx, dword [esp + 0x1c]
push str._service
push ecx
call esi
add esp, 8
test eax, eax
jne 0x401ce7
mov edx, dword [esp + 0x10]
push str._read
push edx
mov dword [esp + 0x40], 2
call esi
add esp, 8
test eax, eax
jne 0x401ca6
mov esi, 0x2018d
jmp 0x401d56
mov eax, dword [esp + 0x10]
push str._start_stop
push eax
call esi
add esp, 8
test eax, eax
jne 0x401cc3
mov esi, 0x201fd
jmp 0x401d56
mov ecx, dword [esp + 0x10]
push str._full
push ecx
call esi
add esp, 8
test eax, eax
jne 0x401cdd
mov esi, 0xf01ff
jmp 0x401d56
push str._nERROR:_No_valid_permission_specified_for_service_security__read___start_stop___full__n
jmp 0x401e00
mov edx, dword [esp + 0x1c]
push str._share
push edx
call esi
add esp, 8
test eax, eax
jne 0x4022fa
mov eax, dword [esp + 0x10]
push str._read
push eax
mov dword [esp + 0x40], 5
call esi
add esp, 8
test eax, eax
jne 0x401d20
mov esi, 0x1200a9
jmp 0x401d56
mov ecx, dword [esp + 0x10]
push str._change
push ecx
call esi
add esp, 8
test eax, eax
jne 0x401d3a
mov esi, 0x1301bf
jmp 0x401d56
mov edx, dword [esp + 0x10]
push str._full
push edx
call esi
add esp, 8
test eax, eax
jne 0x4022f0
mov esi, 0x1f01ff
xor edi, edi
mov eax, dword [esp + 0x44]
test eax, eax
je 0x401e8d
mov eax, dword [esp + 0x24]
mov ebx, dword [sym.imp.MSVCRT.dll__mbsicmp]
push str.cont_obj_inh
push eax
call ebx
add esp, 8
test eax, eax
jne 0x401d87
mov edi, 3
jmp 0x401e93
mov ecx, dword [esp + 0x24]
push str.cont_inh
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x401da4
mov edi, 2
jmp 0x401e93
mov edx, dword [esp + 0x24]
push str.obj_inh
push edx
call ebx
add esp, 8
test eax, eax
jne 0x401dc1
mov edi, 1
jmp 0x401e93
mov eax, dword [esp + 0x24]
push str.inh_only
push eax
call ebx
add esp, 8
test eax, eax
jne 0x401dde
mov edi, 8
jmp 0x401e93
mov ecx, dword [esp + 0x24]
push str.no_prop_inh
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x401dfb
mov edi, 4
jmp 0x401e93
push str._nERROR:_No_valid_inheritance_specified_cont_obj_inh__cont_inh__obj_inh__inh_only__no_prop_inh__n
call dword [sym.imp.MSVCRT.dll_printf]
add esp, 4
lea ecx, [esp + 0x28]
mov byte [esp + 0x8c], 5
call fcn.004026d4
lea ecx, [esp + 0x24]
mov byte [esp + 0x8c], 4
call fcn.004026d4
lea ecx, [esp + 0x10]
mov byte [esp + 0x8c], 3
call fcn.004026d4
lea ecx, [esp + 0x18]
mov byte [esp + 0x8c], 2
call fcn.004026d4
lea ecx, [esp + 0x20]
mov byte [esp + 0x8c], 1
call fcn.004026d4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8c], 0
call fcn.004026d4
lea ecx, [esp + 0x14]
mov dword [esp + 0x8c], 0xffffffff
call fcn.004026d4
mov eax, 2
jmp 0x402555
mov ebx, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x54]
push edx
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x4c]
push 0
push eax
push 0
push 0
push ecx
push edx
push 0xff
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::GetBuffer
push eax
call dword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoA]
test eax, eax
je 0x401f68
push eax
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
call sub.MFC42.DLL_CString::CString
call fcn.00402570
add esp, 8
lea ecx, [esp + 0x28]
mov byte [esp + 0x8c], 5
call fcn.004026d4
lea ecx, [esp + 0x24]
mov byte [esp + 0x8c], 4
call fcn.004026d4
lea ecx, [esp + 0x10]
mov byte [esp + 0x8c], 3
call fcn.004026d4
lea ecx, [esp + 0x18]
mov byte [esp + 0x8c], 2
call fcn.004026d4
lea ecx, [esp + 0x20]
mov byte [esp + 0x8c], 1
call fcn.004026d4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8c], 0
call fcn.004026d4
lea ecx, [esp + 0x14]
mov dword [esp + 0x8c], 0xffffffff
call fcn.004026d4
mov eax, 2
jmp 0x402555
mov ecx, dword [esp + 0x1c]
push str._printer
push ecx
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LocalFree]
add esp, 8
test eax, eax
jne 0x4020b8
cmp ebp, 4
jne 0x4020b8
push 0
push ebp
push 0x20008
push 0xff
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::GetBuffer
mov esi, dword [sym.imp.ADVAPI32.dll_BuildExplicitAccessWithNameA]
lea edx, [esp + 0x70]
push eax
push edx
call esi
mov ecx, dword [esp + 0x48]
mov edi, dword [sym.imp.ADVAPI32.dll_SetEntriesInAclA]
lea eax, [esp + 0x2c]
lea edx, [esp + 0x64]
push eax
push ecx
push edx
push 1
call edi
test eax, eax
je 0x401feb
push eax
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
call sub.MFC42.DLL_CString::CString
call fcn.00402570
jmp 0x4021cb
push 0xa
push 4
push 0x20008
push 0xff
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::GetBuffer
lea ecx, [esp + 0x70]
push eax
push ecx
call esi
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x68]
push eax
push ecx
push 1
call edi
test eax, eax
je 0x40202e
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x64], esp
jmp 0x4021a2
push 9
push 4
push 0x20008
push 0xff
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea eax, [esp + 0x74]
push eax
call esi
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x2c]
push ecx
lea eax, [esp + 0x68]
push edx
push eax
push 1
call edi
test eax, eax
je 0x402071
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x64], esp
jmp 0x4021a2
push 0xb
push 4
push 0x20008
push 0xff
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea eax, [esp + 0x74]
push eax
call esi
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x30]
push ecx
lea eax, [esp + 0x68]
push edx
push eax
push 1
call edi
test eax, eax
je 0x402159
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x64], esp
jmp 0x4021a2
push edi
push ebp
push esi
push 0xff
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::GetBuffer
mov esi, dword [sym.imp.ADVAPI32.dll_BuildExplicitAccessWithNameA]
lea edx, [esp + 0x70]
push eax
push edx
call esi
mov ecx, dword [esp + 0x48]
mov edi, dword [sym.imp.ADVAPI32.dll_SetEntriesInAclA]
lea eax, [esp + 0x2c]
lea edx, [esp + 0x64]
push eax
push ecx
push edx
push 1
call edi
test eax, eax
je 0x402110
push eax
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
call sub.MFC42.DLL_CString::CString
call fcn.00402570
jmp 0x4021cb
cmp dword [esp + 0x40], 2
jne 0x40216c
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
push ecx
push ebp
push edx
push 0xff
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea eax, [esp + 0x74]
push eax
call esi
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x30]
push ecx
lea eax, [esp + 0x68]
push edx
push eax
push 1
call edi
test eax, eax
je 0x402159
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x64], esp
jmp 0x4021a2
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
push eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
call ebx
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push 0
push edx
push 0
push 0
push eax
push ecx
push 0xff
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::GetBuffer
push eax
call dword [sym.imp.ADVAPI32.dll_SetNamedSecurityInfoA]
test eax, eax
je 0x4021b3
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x64], esp
lea edx, [esp + 0x1c]
push edx
call sub.MFC42.DLL_CString::CString
call fcn.00402570
jmp 0x4021cb
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], 1
push eax
push str._nSUCCESS:_Specified_permissions_set_on_object___s_._n
call dword [sym.imp.MSVCRT.dll_printf]
mov eax, dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x4021d9
push eax
call ebx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4021e4
push eax
call ebx
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4021ef
push eax
call ebx
mov eax, dword [esp + 0x58]
mov byte [esp + 0x8c], 5
test eax, eax
lea ecx, [esp + 0x28]
jne 0x40227b
call fcn.004026d4
lea ecx, [esp + 0x24]
mov byte [esp + 0x8c], 4
call fcn.004026d4
lea ecx, [esp + 0x10]
mov byte [esp + 0x8c], 3
call fcn.004026d4
lea ecx, [esp + 0x18]
mov byte [esp + 0x8c], 2
call fcn.004026d4
lea ecx, [esp + 0x20]
mov byte [esp + 0x8c], 1
call fcn.004026d4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8c], 0
call fcn.004026d4
lea ecx, [esp + 0x14]
mov dword [esp + 0x8c], 0xffffffff
call fcn.004026d4
mov eax, 2
jmp 0x402555
call fcn.004026d4
lea ecx, [esp + 0x24]
mov byte [esp + 0x8c], 4
call fcn.004026d4
lea ecx, [esp + 0x10]
mov byte [esp + 0x8c], 3
call fcn.004026d4
lea ecx, [esp + 0x18]
mov byte [esp + 0x8c], 2
call fcn.004026d4
lea ecx, [esp + 0x20]
mov byte [esp + 0x8c], 1
call fcn.004026d4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8c], 0
call fcn.004026d4
lea ecx, [esp + 0x14]
mov dword [esp + 0x8c], 0xffffffff
call fcn.004026d4
xor eax, eax
jmp 0x402555
push str._nERROR:_No_valid_permission_specified_for_share_security__read___change___full__n
jmp 0x401e00
push str._nERROR:_No_valid_object_type_specified__file___dir___printer___registry___service___share___ds_obj___ds_obj_all__n
jmp 0x401e00
mov esi, dword [sym.imp.MSVCRT.dll_printf]
push str._nSetACL.exe_0.87_____c__2001_by_Helge_Klein____www.helge.mynetcologne.de_setacl_n_n
call esi
add esp, 4
push str.Usage:_SetACL.exe__object_name___object_type___action___trustee___permissions__n
call esi
add esp, 4
push str.____________________i:_inheritance_____p:_inh._from_parent___n_n
call esi
add esp, 4
push str._n_n
call esi
add esp, 4
push str._object_name_____Any_valid_path_to_local_or_remote_object_n
call esi
add esp, 4
push str._n_______________________________________________________________________________n_n
call esi
add esp, 4
push str._object_type______file___dir___printer___registry___service___share__n
call esi
add esp, 4
push str.____________________ds_obj___ds_obj_all_n
call esi
add esp, 4
push str._n_______________________________________________________________________________n_n
call esi
add esp, 4
push str._action___________deny___grant___set___revoke_n
call esi
add esp, 4
push str._n_______________________________________________________________________________n_n
call esi
add esp, 4
push str._trustee_________User_group_to_grant_deny_permissions_for__ie._machineuser_n
call esi
add esp, 4
push str._n_______________________________________________________________________________n_n
call esi
add esp, 4
push str._permissions__n_n
call esi
add esp, 4
push str._______file_________read___write___read_ex___change___full___traverse__n
call esi
add esp, 4
push str.______________________list_dir___read_attributes___read_ea___add_file__n
call esi
add esp, 4
push str.______________________add_subdir___write_attributes___write_ea__n
call esi
add esp, 4
push str.______________________delete_child___delete___read_dacl___write_dacl__n
call esi
add esp, 4
push str.______________________write_owner_n
call esi
add esp, 4
push str._n______........................................................................_n_n
call esi
add esp, 4
push str._______dir__________read___write___list_folder___read_ex___change__n
call esi
add esp, 4
push str.______________________profile___full___traverse___list_dir__n
call esi
add esp, 4
push str.______________________read_attributes___read_ea___add_file___add_subdir___n
call esi
add esp, 4
push str.______________________write_attributes___write_ea___delete_child__delete__n
call esi
add esp, 4
push str.______________________read_dacl___write_dacl___write_owner_n
call esi
add esp, 4
push str._n______........................................................................_n_n
call esi
add esp, 4
push str._______printer______print___man_printer___man_docs___full_n
call esi
add esp, 4
push str._n______........................................................................_n_n
call esi
add esp, 4
push str._______registry_____read___full_n
call esi
add esp, 4
push str._n______........................................................................_n_n
call esi
add esp, 4
push str._______service______read___start_stop___full_n
call esi
add esp, 4
push str._n______........................................................................_n_n
call esi
add esp, 4
push str._______share________read___change___full_n
call esi
add esp, 4
push str._n______........................................................................_n_n
call esi
add esp, 4
push str._______ds_obj______not_implemented_yet_n
call esi
add esp, 4
push str._n______........................................................................_n_n
call esi
add esp, 4
push str._______ds_obj_all__not_implemented_yet_n
call esi
add esp, 4
push str._n_______________________________________________________________________________n_n
call esi
add esp, 4
push str._inheritance____cont_obj_inh__cont_inh__obj_inh__inh_only__no_prop_inh_n
call esi
add esp, 4
push str._n_______________________________________________________________________________n_n
call esi
add esp, 4
push str._inh._from_parent__n
call esi
add esp, 4
push str.________________yes__no_n
call esi
add esp, 4
push 0x4040f8
call esi
add esp, 4
push str._nIf_not_specified__inheritance_is_always_set_to_values_which_suit_the_cause._n
call esi
add esp, 4
push str.Using_your_own_settings_can_result_in_undesired_permissions._Beware__n
call esi
add esp, 4
push str._nAlso__inherit_from_parent_is_set_to_yes_if_not_specified._n
call esi
add esp, 4
lea ecx, [esp + 0x28]
mov byte [esp + 0x8c], 5
call fcn.004026d4
lea ecx, [esp + 0x24]
mov byte [esp + 0x8c], 4
call fcn.004026d4
lea ecx, [esp + 0x10]
mov byte [esp + 0x8c], 3
call fcn.004026d4
lea ecx, [esp + 0x18]
mov byte [esp + 0x8c], 2
call fcn.004026d4
lea ecx, [esp + 0x20]
mov byte [esp + 0x8c], 1
call fcn.004026d4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8c], 0
call fcn.004026d4
lea ecx, [esp + 0x14]
mov dword [esp + 0x8c], 0xffffffff
call fcn.004026d4
mov eax, 1
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x80
ret