Function at 0x4102df40
Capabilities:
Compare security identifiers

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41149c80
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1f84
call fcn.4112e9d0
mov eax, dword [0x411bade8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1f60], eax
mov eax, dword [ebp + 0x14]
push str.STEP_8_11:_If_DACL_is_present__copy_it_to_a_new_DACL...
mov dword [ebp - 0x1f90], ecx
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x1f84], edx
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x1f64], eax
mov eax, dword [ebp + 0x20]
push 0x1000001
mov dword [ebp - 0x1f70], ecx
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x1f78], edx
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0x1f88], eax
mov eax, dword [ebp + 0x34]
push 0x75f
push str.WinPrinter.cpp
mov dword [ebp - 0x1f68], ecx
mov dword [ebp - 0x1f74], edx
mov dword [ebp - 0x1f6c], eax
mov dword [ebp - 0x1f5c], 1
call fcn.41002c10
push str.STEP_9_11:_Copy_the_files_ACEs_to_our_new_ACL...
push 0x1000001
push 0x763
xor esi, esi
push str.WinPrinter.cpp
mov dword [ebp - 4], esi
call fcn.41002c10
mov edi, dword [sym.imp.ADVAPI32.dll_EqualSid]
add esp, 0x20
lea ebx, [ebx]
mov ecx, dword [ebp - 0x1f84]
mov eax, dword [ecx]
cmp esi, eax
jae 0x4102e364
push eax
lea ebx, [esi + 1]
push ebx
push str.____Get_ACE__d_of__d.
push 0x1000001
push 0x768
push str.WinPrinter.cpp
call fcn.41002c10
mov eax, dword [ebp - 0x1f90]
add esp, 0x18
lea edx, [ebp - 0x1f58]
push edx
push esi
push eax
call dword [sym.imp.ADVAPI32.dll_GetAce]
test eax, eax
jne 0x4102e085
push 0x411a29cc
lea ecx, [ebp - 0x1f8c]
push ecx
mov dword [ebp - 0x1f8c], 0x76b
call fcn.4112fac9
xor edx, edx
push 0x7d0
lea ecx, [ebp - 0x1f54]
mov word [ebp - 0xfb4], dx
mov edx, dword [ebp - 0x1f58]
push ecx
xor eax, eax
push edx
mov dword [ebp - 0x1f80], 0x7d0
mov word [ebp - 0x1f54], ax
call fcn.4102d630
mov eax, dword [ebp - 0x1f58]
add esp, 0xc
cmp byte [eax], 0
jne 0x4102e2c0
lea ecx, [ebp - 0x1f80]
push ecx
lea edx, [ebp - 0xfb4]
push edx
add eax, 8
push eax
call fcn.4102db80
lea eax, [ebp - 0x1f54]
push eax
lea ecx, [ebp - 0xfb4]
push ecx
push str.______User:__s__ACE:__s
push 0x1000001
push 0x783
push str.WinPrinter.cpp
call fcn.41002c10
mov eax, dword [ebp - 0x1f70]
add esp, 0x24
test eax, eax
je 0x4102e1b9
mov edx, dword [ebp - 0x1f58]
add edx, 8
push edx
push eax
call edi
test eax, eax
je 0x4102e1b9
push str.________Same_Logon_SID_found_in_ACL.
push 0x1000001
push 0x787
push str.WinPrinter.cpp
call fcn.41002c10
mov eax, dword [ebp + 0x28]
add esp, 0x10
dec eax
je 0x4102e19d
dec eax
je 0x4102e17a
dec eax
jne 0x4102e1b9
push str.____________DEL_LOGONSID:_Skipping_Logon_SID.
push 0x1000001
push 0x798
push str.WinPrinter.cpp
call fcn.41002c10
add esp, 0x10
mov esi, ebx
jmp 0x4102e020
push str.____________DEL_USER:_Skipping_Logon_SID.
push 0x1000001
push 0x7a2
push str.WinPrinter.cpp
call fcn.41002c10
add esp, 0x10
mov esi, ebx
jmp 0x4102e020
push str.____________ADD_USER:_Copying_Logon_SID_in_ACL.
push 0x1000001
push 0x790
push str.WinPrinter.cpp
call fcn.41002c10
add esp, 0x10
mov eax, dword [ebp - 0x1f58]
mov ecx, dword [ebp - 0x1f64]
add eax, 8
push eax
push ecx
call edi
test eax, eax
je 0x4102e2c0
push str.________Same_User_SID_found_in_ACL.
push 0x1000001
push 0x7ac
push str.WinPrinter.cpp
call fcn.41002c10
mov eax, dword [ebp + 0x28]
add esp, 0x10
dec eax
je 0x4102e298
dec eax
jne 0x4102e2c0
mov edx, dword [ebp - 0x1f78]
mov eax, dword [ebp - 0x1f58]
push edx
add eax, 8
push eax
call edi
test eax, eax
jne 0x4102e252
mov ecx, dword [ebp - 0x1f88]
mov edx, dword [ebp - 0x1f58]
push ecx
add edx, 8
push edx
call edi
test eax, eax
jne 0x4102e252
push str.____________DEL_USER:_Skipping_User_SID__1_.
push 0x1000001
push 0x7b9
push str.WinPrinter.cpp
call fcn.41002c10
add esp, 0x10
mov esi, ebx
jmp 0x4102e020
mov eax, dword [ebp - 0x1f68]
mov ecx, dword [ebp - 0x1f58]
push eax
add ecx, 8
push ecx
call edi
test eax, eax
jne 0x4102e2c0
push str.____________DEL_USER:_skipping_User_SID__2_.
push 0x1000001
push 0x7bf
push str.WinPrinter.cpp
call fcn.41002c10
mov edx, dword [ebp - 0x1f6c]
mov dword [edx], 1
add esp, 0x10
mov esi, ebx
jmp 0x4102e020
mov eax, dword [ebp - 0x1f74]
push str.____________ADD_USER:_Copying_User_SID_from_previous_ACL.
push 0x1000001
push 0x7b2
push str.WinPrinter.cpp
mov dword [eax], 1
call fcn.41002c10
add esp, 0x10
cmp dword [ebp - 0x1f60], 0
je 0x4102e173
push esi
push str.______Add_the_ACE_to_the_new_ACL.
push 0x1000001
push 0x7cd
push str.WinPrinter.cpp
call fcn.41002c10
mov eax, dword [ebp - 0x1f58]
movzx ecx, word [eax + 2]
mov edx, dword [ebp - 0x1f60]
add esp, 0x14
push ecx
push eax
push 0xffffffffffffffff
push 2
push edx
call dword [sym.imp.ADVAPI32.dll_AddAce]
test eax, eax
jne 0x4102e173
push 0x411a29cc
lea eax, [ebp - 0x1f7c]
push eax
mov dword [ebp - 0x1f7c], 0x7d5
call fcn.4112fac9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x1f94]
push eax
push ecx
push str.WinPrinter::CopyDACL_failed_LNUMBER__d___GetLastError__d_
push 0x2000001
push 0x7dd
push str.WinPrinter.cpp
call fcn.41002c10
add esp, 0x18
mov dword [ebp - 0x1f5c], 0
mov eax, 0x4102e364
ret
mov eax, dword [ebp - 0x1f5c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.4112e1a6
mov esp, ebp
pop ebp
ret 0x30