Function at 0x100ba1d
Capabilities:
Compare security identifiers

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
push edi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp + 0xc]
xor ebx, ebx
push dword [ebp + 8]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], ebx
call fcn.0100ae0f
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x100ba6d
push ebx
push 0x10028a8
push 0x3d9
jmp 0x100bc0d
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorDacl]
test eax, eax
jne 0x100ba9f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x10028a8
mov dword [ebp - 4], eax
push 0x3ea
jmp 0x100bc0d
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_IsValidAcl]
test eax, eax
jne 0x100bac5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x10028a8
mov dword [ebp - 4], eax
push 0x3f0
jmp 0x100bc0d
push 2
push 0xc
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_GetAclInformation]
test eax, eax
jne 0x100baf3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x10028a8
mov dword [ebp - 4], eax
push 0x3ff
jmp 0x100bc0d
xor edi, edi
cmp dword [ebp - 0x30], ebx
jbe 0x100bb58
mov esi, dword [sym.imp.ADVAPI32.dll_EqualSid]
lea eax, [ebp - 0x20]
push eax
push edi
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_GetAce]
test eax, eax
je 0x100bb35
mov eax, dword [ebp - 0x20]
mov cl, byte [eax]
cmp cl, bl
je 0x100bb20
cmp cl, 1
jne 0x100bb2d
add eax, 8
push eax
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x100bb4e
inc edi
cmp edi, dword [ebp - 0x30]
jb 0x100bb00
jmp 0x100bb58
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x10028a8
mov dword [ebp - 4], eax
push 0x40a
jmp 0x100bc0d
push edi
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_DeleteAce]
mov esi, dword [ebp - 0xc]
push 1
push dword [ebp - 8]
push 1
push esi
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
jne 0x100bb86
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x10028a8
mov dword [ebp - 4], eax
push 0x42e
jmp 0x100bc0d
push ebx
push dword [ebp - 0x10]
push esi
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorOwner]
test eax, eax
jne 0x100bbab
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x10028a8
mov dword [ebp - 4], eax
push 0x437
jmp 0x100bc0d
push ebx
push dword [ebp - 0x14]
push esi
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorGroup]
test eax, eax
jne 0x100bbd0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x10028a8
mov dword [ebp - 4], eax
push 0x440
jmp 0x100bc0d
push esi
call dword [sym.imp.ADVAPI32.dll_IsValidSecurityDescriptor]
test eax, eax
jne 0x100bbe8
push ebx
push 0x10028a8
push 0x449
jmp 0x100bc06
mov ecx, dword [ebp - 0x24]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0100b183
test eax, eax
je 0x100bc23
push ebx
push 0x10028a8
push 0x453
mov dword [ebp - 4], 0x80004005
push 0x1002710
push 0x1001570
mov ecx, 0x10156c0
call fcn.01011507
jmp 0x100bc26
mov dword [ebp - 4], ebx
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
cmp dword [ebp - 8], ebx
je 0x100bc43
push dword [ebp - 8]
push ebx
call edi
push eax
call esi
mov dword [ebp - 8], ebx
cmp dword [ebp - 0x10], ebx
je 0x100bc51
push dword [ebp - 0x10]
push ebx
call edi
push eax
call esi
cmp dword [ebp - 0x14], ebx
je 0x100bc5f
push dword [ebp - 0x14]
push ebx
call edi
push eax
call esi
cmp dword [ebp - 0xc], ebx
je 0x100bc6d
push dword [ebp - 0xc]
push ebx
call edi
push eax
call esi
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 0xc