Function at 0x455dc0
Capabilities:
Compare security identifiers
Get user security identifier

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x692548
push 0x5d6800
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x69def4]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x44], eax
call fcn.0048bfd0
test al, al
je 0x455e1e
pop ecx
pop esp
push eax
push esp
push ebx
push ecx
push esp
push ebx
pop esi
pop edi
pop ebp
pop edi
pop edi
pop ebx
push edi
pop edx
pop ebx
pop eax
pop esi
pop esi
push ecx
push ebx
call fcn.0048be10
test al, al
je 0x455e3d
pop esi
push ebp
pop ecx
pop eax
pop esi
push edx
pop edi
push ecx
push edx
pop esp
push esp
pop esi
pop esp
push edi
push eax
pop ecx
push ebx
pop ebx
pop esi
push edi
pop ebx
pop esi
call fcn.0048bb70
test al, al
je 0x455e60
push ebp
push eax
push esp
pop edx
pop edx
pop eax
pop esi
pop edi
pop edi
push ebx
push edx
pop ebp
pop ecx
push esi
push eax
push esp
pop ecx
pop ebx
pop ebp
pop ebx
pop edx
pop esi
pop esi
pop esp
push esi
pop ebx
call fcn.0048bb00
test al, al
je 0x455e7e
pop ebx
pop ebp
pop edi
pop eax
pop ebp
pop edx
pop ebp
push eax
push esp
push eax
push ebx
push esp
pop esp
pop edi
pop ebp
pop edx
push esp
push ebx
push eax
pop esi
pop esi
call fcn.0048bfd0
test al, al
je 0x455ea6
pop edx
pop ebp
pop edx
pop edx
pop esp
pop ebx
push esi
push ebx
push edx
pop esi
push eax
pop edx
pop esp
push edi
pop ebx
pop esi
pop esp
pop edx
pop ecx
push esp
pop ebp
push edx
push edx
push ecx
pop edi
push ebp
push edx
push ecx
pop eax
push esi
pop ebx
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x54], 0
call fcn.0048bb70
test al, al
je 0x455edd
pop eax
push edx
push edi
pop esi
push edx
push esi
push edi
push esi
push eax
push eax
pop esp
pop ebp
push edi
pop ecx
push esp
pop esp
pop esi
push ebx
call fcn.0048c2e0
test al, al
je 0x455ef6
push ebx
pop esi
pop esi
push ebp
pop edx
push ecx
pop ebx
pop eax
pop ecx
pop esp
pop esi
pop ecx
pop edx
push ebp
pop edx
push edi
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
call fcn.0048bef0
test al, al
je 0x455f24
pop edx
pop ebx
pop esi
push edi
pop edi
push ecx
pop edx
push ebp
pop eax
pop ebp
push edx
push eax
push eax
pop edx
push edi
pop esp
pop eax
push ebx
pop edi
pop edx
push edx
pop eax
push esi
call fcn.0048b940
test al, al
je 0x455f47
pop esp
push ebx
push eax
pop edi
pop ecx
pop edx
push ebp
push eax
pop ecx
push edi
pop eax
pop ebx
push edi
pop ecx
push ebx
pop edi
push eax
pop ecx
push edi
pop esp
push ebx
pop edi
push edx
pop edi
push edx
pop esi
call fcn.0048c0b0
test al, al
je 0x455f6b
push ecx
pop esp
push eax
pop ebp
push esi
pop eax
pop esp
push eax
push esi
pop ecx
pop eax
push ebp
pop eax
pop esi
push edx
pop edi
pop ebp
push edx
push eax
pop ebx
pop edx
pop edx
push esi
push esi
pop edx
pop ebp
pop ebx
call fcn.0048c120
test al, al
je 0x455f8b
pop esp
push eax
push esi
push esi
push ebp
push esi
pop eax
pop ecx
pop eax
push edi
push edi
pop ebx
push esp
pop esp
push esi
pop ecx
push esi
push esi
push ebx
pop esi
push edx
pop esp
pop eax
call fcn.0048bc50
test al, al
je 0x455fa9
push ebp
push ecx
pop esp
push ecx
pop ebp
push ecx
push esp
push ecx
pop esp
pop edi
push edi
pop ebp
push edi
push esp
pop ebx
push ecx
push edi
pop ebx
pop eax
pop ebx
push ebp
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], 0
call fcn.0048bd30
test al, al
je 0x455fd6
push eax
pop edx
pop edi
pop edi
push ebp
pop ecx
push ecx
push edi
push esp
push edi
push esi
push ebp
pop esi
pop ecx
pop esp
push esi
pop esp
push ecx
push esp
push eax
pop ecx
pop ecx
call fcn.0048be80
test al, al
je 0x455ffb
pop ebx
push ecx
pop edx
push ebp
push edx
pop edi
pop edi
pop esp
push ebp
pop esi
pop edx
pop ebp
pop esi
pop edx
push edi
pop ebp
push ebp
push edi
push ebp
pop edx
push ebp
push esi
pop esi
pop esi
pop ebp
push edx
push ebp
pop esp
call fcn.0048bd30
test al, al
je 0x45601b
pop esi
push ebp
pop edx
pop edx
push ebp
push edi
pop eax
push ebp
pop edx
pop ecx
pop esp
push esp
pop edi
push esp
pop edx
push ebp
push esi
push edi
push edi
pop ebx
pop ebp
pop ebx
push esp
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
call fcn.0048c0b0
test al, al
je 0x456051
push edi
push eax
push esp
pop edx
pop edx
pop edx
pop ebp
push ebp
pop ebp
push edx
pop ecx
push esp
push ebp
push ebp
push esi
pop esi
push ebx
push eax
pop ecx
pop esi
pop edx
push ebx
pop esp
pop esi
pop ebp
push ebp
pop esp
push ecx
pop edx
pop ebp
pop edi
call fcn.0048c040
test al, al
je 0x456075
push ebx
pop ecx
push edi
pop ebx
push esi
pop ebx
pop ecx
push ecx
pop esi
pop edi
pop ecx
pop edx
push ebx
push esp
pop esi
pop esp
pop edx
push esp
pop ecx
pop edx
push ecx
push edi
push ecx
pop edx
push esi
pop esi
pop ebp
mov dword [ebp - 0x60], 0
call fcn.0048bb00
test al, al
je 0x456096
push ebx
push edx
pop edi
pop esp
push esp
pop eax
push edx
pop edi
pop ebp
push esi
push edi
push edi
push edi
push ebp
pop esi
pop ebp
pop esi
call fcn.0048c2e0
test al, al
je 0x4560bc
push edx
pop esi
push esp
pop ebx
pop eax
push edi
push ebp
push eax
pop ebx
pop esp
push edi
push esp
pop edx
pop edx
push edi
push edx
push esi
pop ecx
pop eax
pop ebx
pop eax
push esp
pop edi
push ecx
pop esp
pop ebp
pop esp
pop ebp
push esi
call fcn.0048c3c0
test al, al
je 0x4560d6
pop edi
pop esi
push edx
push esp
pop eax
push esp
pop edx
push ebp
push edx
push edx
push edx
push edi
pop ebp
push esp
pop eax
pop esi
pop esp
mov dword [ebp - 4], 0
call fcn.0048bbe0
test al, al
je 0x456103
push edi
pop ecx
push esi
push ebx
push edi
push ebp
push ebp
push esp
pop eax
pop edi
pop ecx
pop ebp
pop ecx
pop esp
push esi
pop eax
pop ebp
push ebp
push ebp
push eax
pop edi
push edx
push eax
push eax
pop ebp
push ebx
pop edx
push ebp
pop esi
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x50]
push eax
push 0
lea eax, [ebp - 0x54]
push eax
push 0
push dword [ebp - 0x44]
push 0
call dword [sym.imp.ADVAPI32.dll_LookupAccountNameW]
test eax, eax
jne 0x4569c4
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, 0x7a
je 0x456148
call esi
push eax
push str.LookupAccountName___failed._Error__d_n
call fcn.00456a90
add esp, 8
jmp 0x4569c4
call fcn.0048c270
test al, al
je 0x456171
push edi
pop esp
push esp
pop edi
push esi
pop edx
push ecx
pop edx
push esi
pop edx
push esi
push eax
push esp
pop ebx
pop ebp
push ebx
pop ebx
push edx
push esp
pop ebp
push ebp
push edi
push ebp
pop esi
push ebx
pop ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call fcn.0048c0b0
test al, al
je 0x45618b
pop ebp
push esi
pop eax
pop esp
push ecx
pop ebp
push ebx
pop ebp
pop ecx
pop edi
push edi
pop ecx
push ecx
pop eax
pop ebx
push esp
pop edx
call fcn.0048bbe0
test al, al
je 0x4561a6
pop ecx
push esp
pop ebp
push esi
pop esp
pop eax
pop edi
push ebp
push esp
pop edi
push ecx
pop ecx
push edx
push ecx
pop ecx
push eax
push esp
push ecx
push dword [ebp - 0x54]
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x4561d4
call esi
push eax
push str.HeapAlloc___failed._Error__d_n
call fcn.00456a90
add esp, 8
jmp 0x4569c4
call fcn.0048bb70
test al, al
je 0x4561f8
pop eax
push edx
push edi
push esp
push ebp
pop ebp
pop eax
push eax
pop esi
push esi
pop eax
pop esp
push esi
push esi
push eax
push esp
push eax
push eax
pop ecx
push edx
pop esi
push edx
pop esp
pop eax
push esi
push ebp
push edx
call fcn.0048c0b0
test al, al
je 0x456219
pop esp
push ebx
pop esp
pop esp
pop esp
pop edi
pop eax
pop eax
push esi
push esi
pop eax
push esi
push ebx
push eax
push ebp
push ebp
push ebp
push edi
pop edi
pop ebp
pop esp
push ebx
push ebp
pop ebx
mov eax, dword [ebp - 0x50]
add eax, eax
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x5c], eax
test eax, eax
jne 0x456250
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.HeapAlloc___failed._Error__d_n
call fcn.00456a90
add esp, 8
jmp 0x4569c4
call fcn.0048bd30
test al, al
je 0x45626e
pop esi
pop ecx
pop edi
push ebx
pop ecx
push edi
push eax
pop edi
push ebp
push edi
push eax
pop eax
push esp
push edx
push ebx
pop eax
pop edi
push ebp
pop ebp
push ecx
pop edx
call fcn.0048c430
test al, al
je 0x45628a
push esp
pop esp
push edi
pop ecx
pop ebp
push esp
push esp
pop eax
push esi
push esi
push ebp
pop esp
pop ebx
pop ebx
push edi
pop esp
push esp
pop edi
push edx
call fcn.0048bf60
test al, al
je 0x4562b1
push edx
push edi
pop eax
pop esp
push edi
pop ebx
pop esi
pop ebp
push esi
pop edi
push esp
push ecx
pop eax
push eax
push ecx
push ebp
push ecx
push ebp
pop esp
push esp
pop edx
pop esp
pop ebp
pop eax
pop esp
pop ebx
pop esi
push edi
push edi
pop ebp
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x5c]
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x44]
push 0
call dword [sym.imp.ADVAPI32.dll_LookupAccountNameW]
test eax, eax
jne 0x4562ed
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.LookupAccountName___failed._Error__d_n
call fcn.00456a90
add esp, 8
jmp 0x4569c4
call fcn.0048bb70
test al, al
je 0x456308
pop eax
push edx
push edi
pop esi
push edx
push esi
push edi
push esi
push eax
push eax
pop esp
pop ebp
push edi
pop ecx
push esp
pop esp
pop esi
push ebx
call fcn.0048c2e0
test al, al
je 0x456321
push ebx
pop esi
pop esi
push ebp
pop edx
push ecx
pop ebx
pop eax
pop ecx
pop esp
pop esi
pop ecx
pop edx
push ebp
pop edx
push edi
lea eax, [ebp - 0x48]
push eax
push 0
push 0
push 4
push dword [ebp - 0x58]
call dword [sym.imp.ADVAPI32.dll_GetFileSecurityW]
test eax, eax
jne 0x4569c4
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
cmp eax, 0x7a
je 0x45635e
call ebx
push eax
push str.GetFileSecurity___failed._Error__d_n
call fcn.00456a90
add esp, 8
jmp 0x4569c4
call fcn.0048c0b0
test al, al
je 0x456382
push ecx
pop esp
push eax
pop ebp
push esi
pop eax
pop esp
push eax
push esi
pop ecx
pop eax
push ebp
pop eax
pop esi
push edx
pop edi
pop ebp
push edx
push eax
pop ebx
pop edx
pop edx
push esi
push esi
pop edx
pop ebp
pop ebx
call fcn.0048c120
test al, al
je 0x4563a2
pop esp
push eax
push esi
push esi
push ebp
push esi
pop eax
pop ecx
pop eax
push edi
push edi
pop ebx
push esp
pop esp
push esi
pop ecx
push esi
push esi
push ebx
pop esi
push edx
pop esp
pop eax
call fcn.0048bc50
test al, al
je 0x4563c0
push ebp
push ecx
pop esp
push ecx
pop ebp
push ecx
push esp
push ecx
pop esp
pop edi
push edi
pop ebp
push edi
push esp
pop ebx
push ecx
push edi
pop ebx
pop eax
pop ebx
push ebp
push dword [ebp - 0x48]
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x456235
lea ecx, [ebp - 0x48]
push ecx
push dword [ebp - 0x48]
push eax
push 4
push dword [ebp - 0x58]
call dword [sym.imp.ADVAPI32.dll_GetFileSecurityW]
test eax, eax
jne 0x456407
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.GetFileSecurity___failed._Error__d_n
jmp 0x456243
call fcn.0048bd30
test al, al
je 0x456426
push eax
pop edx
pop edi
pop edi
push ebp
pop ecx
push ecx
push edi
push esp
push edi
push esi
push ebp
pop esi
pop ecx
pop esp
push esi
pop esp
push ecx
push esp
push eax
pop ecx
pop ecx
call fcn.0048be80
test al, al
je 0x45644b
pop ebx
push ecx
pop edx
push ebp
push edx
pop edi
pop edi
pop esp
push ebp
pop esi
pop edx
pop ebp
pop esi
pop edx
push edi
pop ebp
push ebp
push edi
push ebp
pop edx
push ebp
push esi
pop esi
pop esi
pop ebp
push edx
push ebp
pop esp
call fcn.0048bd30
test al, al
je 0x45646b
pop esi
push ebp
pop edx
pop edx
push ebp
push edi
pop eax
push ebp
pop edx
pop ecx
pop esp
push esp
pop edi
push esp
pop edx
push ebp
push esi
push edi
push edi
pop ebx
pop ebp
pop ebx
push esp
push 1
lea eax, [ebp - 0x84]
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
jne 0x456491
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.InitializeSecurityDescriptor___failed.Error__d_n
jmp 0x456243
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x4c]
call dword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorDacl]
test eax, eax
jne 0x4564bd
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.GetSecurityDescriptorDacl___failed._Error__d_n
jmp 0x456243
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 8
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp dword [ebp - 0x38], ecx
cmove eax, ecx
mov dword [ebp - 0x34], eax
call fcn.0048bb00
test al, al
je 0x4564fa
push ebx
push edx
pop edi
pop esp
push esp
pop eax
push edx
pop edi
pop ebp
push esi
push edi
push edi
push edi
push ebp
pop esi
pop ebp
pop esi
call fcn.0048c2e0
test al, al
je 0x456520
push edx
pop esi
push esp
pop ebx
pop eax
push edi
push ebp
push eax
pop ebx
pop esp
push edi
push esp
pop edx
pop edx
push edi
push edx
push esi
pop ecx
pop eax
pop ebx
pop eax
push esp
pop edi
push ecx
pop esp
pop ebp
pop esp
pop ebp
push esi
call fcn.0048c3c0
test al, al
je 0x45653a
pop edi
pop esi
push edx
push esp
pop eax
push esp
pop edx
push ebp
push edx
push edx
push edx
push edi
pop ebp
push esp
pop eax
pop esi
pop esp
cmp dword [ebp - 0x34], 0
je 0x456568
push 2
push 0xc
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_GetAclInformation]
test eax, eax
jne 0x456568
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.GetAclInformation___failed._Error__d_n
jmp 0x456243
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_GetLengthSid]
mov ebx, dword [ebp - 0x24]
add ebx, 8
add ebx, eax
call fcn.0048bbe0
test al, al
je 0x45659f
push edi
pop ecx
push esi
push ebx
push edi
push ebp
push ebp
push esp
pop eax
pop edi
pop ecx
pop ebp
pop ecx
pop esp
push esi
pop eax
pop ebp
push ebp
push ebp
push eax
pop edi
push edx
push eax
push eax
pop ebp
push ebx
pop edx
push ebp
pop esi
push ebx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
mov dword [ebp - 0x30], esi
test esi, esi
je 0x456235
push 2
push ebx
push esi
call dword [sym.imp.ADVAPI32.dll_InitializeAcl]
test eax, eax
jne 0x4565dd
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.InitializeAcl___failed._Error__d_n
jmp 0x456243
call fcn.0048c270
test al, al
je 0x456600
push edi
pop esp
push esp
pop edi
push esi
pop edx
push ecx
pop edx
push esi
pop edx
push esi
push eax
push esp
pop ebx
pop ebp
push ebx
pop ebx
push edx
push esp
pop ebp
push ebp
push edi
push ebp
pop esi
push ebx
pop ebx
call fcn.0048c0b0
test al, al
je 0x45661a
pop ebp
push esi
pop eax
pop esp
push ecx
pop ebp
push ebx
pop ebp
pop ecx
pop edi
push edi
pop ecx
push ecx
pop eax
pop ebx
push esp
pop edx
call fcn.0048bbe0
test al, al
je 0x456635
pop ecx
push esp
pop ebp
push esi
pop esp
pop eax
pop edi
push ebp
push esp
pop edi
push ecx
pop ecx
push edx
push ecx
pop ecx
push eax
push esp
push ecx
xor esi, esi
mov dword [ebp - 0x6c], esi
cmp dword [ebp - 0x34], esi
je 0x4566d5
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x4566d5
xor ebx, ebx
mov dword [ebp - 0x64], ebx
mov edi, dword [sym.imp.ADVAPI32.dll_EqualSid]
mov dword [ebp - 0x40], ebx
cmp ebx, eax
jae 0x4566d5
lea eax, [ebp - 0x3c]
push eax
push ebx
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_GetAce]
test eax, eax
jne 0x456685
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.GetAce___failed._Error__d_n
jmp 0x456243
mov eax, dword [ebp - 0x3c]
test byte [eax + 1], 0x10
jne 0x4566d5
add eax, 8
push eax
push dword [ebp - 0x2c]
call edi
test eax, eax
jne 0x4566cc
mov ecx, dword [ebp - 0x3c]
movzx eax, word [ecx + 2]
push eax
push ecx
push 0xffffffffffffffff
push 2
push dword [ebp - 0x30]
call dword [sym.imp.ADVAPI32.dll_AddAce]
test eax, eax
jne 0x4566c8
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.AddAce___failed._Error__d_n
jmp 0x456243
inc esi
mov dword [ebp - 0x6c], esi
inc ebx
mov dword [ebp - 0x64], ebx
mov eax, dword [ebp - 0x28]
jmp 0x456659
call fcn.0048bb70
test al, al
je 0x4566f9
pop eax
push edx
push edi
push esp
push ebp
pop ebp
pop eax
push eax
pop esi
push esi
pop eax
pop esp
push esi
push esi
push eax
push esp
push eax
push eax
pop ecx
push edx
pop esi
push edx
pop esp
pop eax
push esi
push ebp
push edx
call fcn.0048c0b0
test al, al
je 0x45671a
pop esp
push ebx
pop esp
pop esp
pop esp
pop edi
pop eax
pop eax
push esi
push esi
pop eax
push esi
push ebx
push eax
push ebp
push ebp
push ebp
push edi
pop edi
pop ebp
pop esp
push ebx
push ebp
pop ebx
push str.AddAccessAllowedAceEx
push str.advapi32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
push dword [ebp + 0x10]
test eax, eax
je 0x45675c
push 3
push 2
push esi
call eax
test eax, eax
jne 0x45677c
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.AddAccessAllowedAceEx___failed._Error__d_n
jmp 0x456243
push 2
push esi
call dword [sym.imp.ADVAPI32.dll_AddAccessAllowedAce]
test eax, eax
jne 0x45677c
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.AddAccessAllowedAce___failed._Error__d_n
jmp 0x456243
cmp dword [ebp - 0x34], 0
je 0x4567ed
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x4567ed
mov ebx, dword [ebp - 0x40]
nop dword [eax]
cmp ebx, eax
jae 0x4567ed
lea eax, [ebp - 0x3c]
push eax
push ebx
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_GetAce]
test eax, eax
jne 0x4567b9
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.GetAce___failed._Error__d_n
jmp 0x456243
mov ecx, dword [ebp - 0x3c]
movzx eax, word [ecx + 2]
push eax
push ecx
push 0xffffffffffffffff
push 2
push esi
call dword [sym.imp.ADVAPI32.dll_AddAce]
test eax, eax
jne 0x4567e4
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.AddAce___failed._Error__d_n
jmp 0x456243
inc ebx
mov dword [ebp - 0x64], ebx
mov eax, dword [ebp - 0x28]
jmp 0x456790
call fcn.0048bef0
test al, al
je 0x45680d
pop edx
pop ebx
pop esi
push edi
pop edi
push ecx
pop edx
push ebp
pop eax
pop ebp
push edx
push eax
push eax
pop edx
push edi
pop esp
pop eax
push ebx
pop edi
pop edx
push edx
pop eax
push esi
call fcn.0048b940
test al, al
je 0x456830
pop esp
push ebx
push eax
pop edi
pop ecx
pop edx
push ebp
push eax
pop ecx
push edi
pop eax
pop ebx
push edi
pop ecx
push ebx
pop edi
push eax
pop ecx
push edi
pop esp
push ebx
pop edi
push edx
pop edi
push edx
pop esi
push 0
push dword [ebp - 0x30]
push 1
lea eax, [ebp - 0x84]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
jne 0x45685b
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.SetSecurityDescriptorDacl___failed._Error__d_n
jmp 0x456243
push str.SetSecurityDescriptorControl
push str.advapi32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x4568ed
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x4c]
call dword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorControl]
test eax, eax
jne 0x4568ae
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.GetSecurityDescriptorControl___failed.Error__d_n
jmp 0x456243
mov eax, dword [ebp - 0x44]
test eax, 0x400
je 0x4568bf
mov eax, 0x500
jmp 0x4568cb
test eax, 0x1000
je 0x4568ed
mov eax, 0x1000
push eax
push eax
lea eax, [ebp - 0x84]
push eax
call esi
test eax, eax
jne 0x4568ed
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.SetSecurityDescriptorControl___failed.Error__d_n
jmp 0x456243
call fcn.0048bfd0
test al, al
je 0x45690c
pop ecx
pop esp
push eax
push esp
push ebx
push ecx
push esp
push ebx
pop esi
pop edi
pop ebp
pop edi
pop edi
pop ebx
push edi
pop edx
pop ebx
pop eax
pop esi
pop esi
push ecx
push ebx
call fcn.0048be10
test al, al
je 0x45692b
pop esi
push ebp
pop ecx
pop eax
pop esi
push edx
pop edi
push ecx
push edx
pop esp
push esp
pop esi
pop esp
push edi
push eax
pop ecx
push ebx
pop ebx
pop esi
push edi
pop ebx
pop esi
call fcn.0048bb70
test al, al
je 0x45694e
push ebp
push eax
push esp
pop edx
pop edx
pop eax
pop esi
pop edi
pop edi
push ebx
push edx
pop ebp
pop ecx
push esi
push eax
push esp
pop ecx
pop ebx
pop ebp
pop ebx
pop edx
pop esi
pop esi
pop esp
push esi
pop ebx
call fcn.0048bb00
test al, al
je 0x45696c
pop ebx
pop ebp
pop edi
pop eax
pop ebp
pop edx
pop ebp
push eax
push esp
push eax
push ebx
push esp
pop esp
pop edi
pop ebp
pop edx
push esp
push ebx
push eax
pop esi
pop esi
call fcn.0048bfd0
test al, al
je 0x456994
pop edx
pop ebp
pop edx
pop edx
pop esp
pop ebx
push esi
push ebx
push edx
pop esi
push eax
pop edx
pop esp
push edi
pop ebx
pop esi
pop esp
pop edx
pop ecx
push esp
pop ebp
push edx
push edx
push ecx
pop edi
push ebp
push edx
push ecx
pop eax
push esi
pop ebx
lea eax, [ebp - 0x84]
push eax
push 4
push dword [ebp - 0x58]
call dword [sym.imp.ADVAPI32.dll_SetFileSecurityW]
test eax, eax
jne 0x4569bd
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ecx
push eax
push str.SetFileSecurity___failed._Error__d_n
jmp 0x456243
mov dword [ebp - 0x60], 1
mov dword [ebp - 4], 0xfffffffe
call fcn.00456a36
call fcn.0048bb70
test al, al
je 0x4569f4
pop eax
push edx
push edi
push esp
push ebp
pop ebp
pop eax
push eax
pop esi
push esi
pop eax
pop esp
push esi
push esi
push eax
push esp
push eax
push eax
pop ecx
push edx
pop esi
push edx
pop esp
pop eax
push esi
push ebp
push edx
call fcn.0048c0b0
test al, al
je 0x456a15
pop esp
push ebx
pop esp
pop esp
pop esp
pop edi
pop eax
pop eax
push esi
push esi
pop eax
push esi
push ebx
push eax
push ebp
push ebp
push ebp
push edi
pop edi
pop ebp
pop esp
push ebx
push ebp
pop ebx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.005caa5c
mov esp, ebp
pop ebp
ret 0xc