Function at 0x41a55b
Capabilities:
Compare security identifiers

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push esi
xor esi, esi
push edi
xor eax, eax
mov dword [ebp - 0x34], esi
lea edi, [ebp - 0x30]
stosd dword es:[edi], eax
mov dword [ebp - 4], esi
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
stosd dword es:[edi], eax
mov dword [ebp - 0x10], esi
cmp dword [ebp + 8], esi
jne 0x41a590
xor al, al
jmp 0x41a830
lea eax, [ebp - 4]
push eax
push 8
call dword [sym.imp.p_GetCurrentProcess]
push eax
call dword [sym.imp.base_constructor_iterator_OpenProcessToken]
test eax, eax
je 0x41a589
lea eax, [ebp - 8]
push eax
push esi
push esi
mov esi, dword [sym.imp.base_constructor_iterator_GetTokenInformation]
push 2
push dword [ebp - 4]
call esi
mov edi, dword [sym.imp.p_GetLastError]
test eax, eax
jne 0x41a5cb
call edi
cmp eax, 0x7a
jne 0x41a589
push ebx
push dword [ebp - 8]
call fcn.00420d75
mov ebx, eax
pop ecx
test ebx, ebx
je 0x41a6a5
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push ebx
push 2
push dword [ebp - 4]
call esi
test eax, eax
je 0x41a61c
lea eax, [ebp - 8]
push eax
push 0
push 0
push 1
push dword [ebp - 4]
call esi
test eax, eax
jne 0x41a60c
call edi
cmp eax, 0x7a
jne 0x41a61c
push dword [ebp - 8]
call fcn.00420d75
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x41a624
push ebx
call fcn.004209ff
jmp 0x41a678
lea ecx, [ebp - 8]
push ecx
push dword [ebp - 8]
push eax
push 1
push dword [ebp - 4]
call esi
test eax, eax
je 0x41a669
mov esi, dword [sym.imp.base_constructor_iterator_GetFileSecurityW]
lea eax, [ebp - 8]
push eax
push 0
push 0
push 7
push dword [ebp + 8]
call esi
test eax, eax
jne 0x41a657
call edi
cmp eax, 0x7a
jne 0x41a669
push dword [ebp - 8]
call fcn.00420d75
mov edi, eax
pop ecx
mov dword [ebp - 0x28], edi
test edi, edi
jne 0x41a67b
push ebx
call fcn.004209ff
push dword [ebp - 0xc]
call fcn.004209ff
pop ecx
pop ecx
jmp 0x41a6a5
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push edi
push 7
push dword [ebp + 8]
call esi
test eax, eax
jne 0x41a6b5
push ebx
call fcn.004209ff
push dword [ebp - 0xc]
call fcn.004209ff
push edi
call fcn.004209ff
add esp, 0xc
push dword [ebp - 4]
call dword [sym.imp.p_CloseHandle]
xor al, al
jmp 0x41a82f
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
push edi
call dword [sym.imp.base_constructor_iterator_GetSecurityDescriptorDacl]
test eax, eax
jne 0x41a6f8
mov byte [ebp + 0xb], 0
push ebx
call fcn.004209ff
push dword [ebp - 0xc]
call fcn.004209ff
push edi
call fcn.004209ff
add esp, 0xc
push dword [ebp - 4]
call dword [sym.imp.p_CloseHandle]
mov al, byte [ebp + 0xb]
jmp 0x41a82f
xor esi, esi
cmp dword [ebp - 0x1c], esi
jne 0x41a705
mov byte [ebp + 0xb], 1
jmp 0x41a6d0
push 2
push 0xc
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.base_constructor_iterator_GetAclInformation]
test eax, eax
je 0x41a6cc
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x34], esi
jbe 0x41a7f7
mov edi, dword [sym.imp.base_constructor_iterator_EqualSid]
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
call dword [sym.imp.base_constructor_iterator_GetAce]
test eax, eax
je 0x41a7e5
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x41a7e5
cmp byte [eax], 1
jne 0x41a79a
mov ecx, dword [ebp - 0xc]
push dword [ecx]
add eax, 8
push eax
call edi
test eax, eax
mov eax, dword [ebp - 0x10]
je 0x41a76c
mov ecx, dword [eax + 4]
or dword [ebp - 0x18], ecx
and dword [ebp + 8], 0
cmp dword [ebx], 0
jbe 0x41a79a
lea esi, [ebx + 4]
push dword [esi]
add eax, 8
push eax
call edi
test eax, eax
mov eax, dword [ebp - 0x10]
je 0x41a78d
mov ecx, dword [eax + 4]
or dword [ebp - 0x18], ecx
inc dword [ebp + 8]
mov ecx, dword [ebp + 8]
add esi, 8
cmp ecx, dword [ebx]
jb 0x41a778
cmp byte [eax], 0
jne 0x41a7e5
mov ecx, dword [ebp - 0xc]
push dword [ecx]
add eax, 8
push eax
call edi
test eax, eax
mov eax, dword [ebp - 0x10]
je 0x41a7b7
mov ecx, dword [eax + 4]
or dword [ebp - 0x14], ecx
and dword [ebp + 8], 0
cmp dword [ebx], 0
jbe 0x41a7e5
lea esi, [ebx + 4]
push dword [esi]
add eax, 8
push eax
call edi
test eax, eax
mov eax, dword [ebp - 0x10]
je 0x41a7d8
mov ecx, dword [eax + 4]
or dword [ebp - 0x14], ecx
inc dword [ebp + 8]
mov ecx, dword [ebp + 8]
add esi, 8
cmp ecx, dword [ebx]
jb 0x41a7c3
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x34]
jb 0x41a72c
mov edi, dword [ebp - 0x28]
push ebx
call fcn.004209ff
push dword [ebp - 0xc]
call fcn.004209ff
push edi
call fcn.004209ff
add esp, 0xc
push dword [ebp - 4]
call dword [sym.imp.p_CloseHandle]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
and ecx, eax
cmp ecx, eax
jne 0x41a82d
test dword [ebp - 0x18], eax
jne 0x41a82d
xor eax, eax
inc eax
jmp 0x41a82f
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret