Function at 0x10012fbf
Capabilities:
Compare security identifiers

Disassembly:
mov eax, 0x1013e69d
call fcn.1013e250
sub esp, 0x48
push ebx
push esi
mov dword [ebp - 0x14], 0xfffffff6
mov esi, ecx
push edi
mov dword [ebp - 0x20], 0xfffffffa
xor edi, edi
mov dword [ebp - 0x24], 0x5cc7
inc edi
mov dword [ebp - 0x20], edi
xor ebx, ebx
mov dword [ebp - 0x20], 0xdc4b
mov dword [ebp - 0x18], ebx
jmp 0x10013008
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2c], 0x8bbca631
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10012ffa
mov dword [ebp - 0x14], ebx
jmp 0x10013129
mov dword [ebp - 0x1c], 0x94ff5452
mov dword [ebp - 0x18], 0x3799040c
mov dword [ebp - 0x20], 0xde90
mov dword [ebp - 0x18], ebx
jmp 0x1001303e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x44], 0xfffffff8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10013030
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c], ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x1c], eax
jge 0x1001306c
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x2c]
cmp eax, edi
setge cl
neg ecx
je 0x10013093
mov ecx, edi
cmp dword [ebp - 0x20], ebx
jne 0x10013095
mov ecx, ebx
mov eax, dword [ebp - 0x14]
cmp ecx, dword [ebp + eax*4 - 0x2c]
je 0x100130a9
mov eax, dword [ebp - 0x14]
mov ecx, ebx
cmp dword [ebp + eax*4 - 0x2c], ebx
je 0x100130ab
mov ecx, edi
xor eax, eax
cmp ecx, 0xd3ed
setge al
cmp eax, 0x5ad058bb
jle 0x100130c4
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x18], 0xfe64
mov ecx, dword [ebp - 0x14]
sub ecx, eax
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jne 0x10013104
mov byte [ebp - 0xe], bl
cmp byte [ebp - 0xe], bl
je 0x10013126
push ebx
push 0x1a9b
push ebx
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
jmp 0x10013126
mov dword [ebp - 0x18], ebx
jmp 0x10013121
mov byte [ebp - 0xe], bl
cmp byte [ebp - 0xe], bl
je 0x10013118
push ebx
call dword [sym.imp.GDI32.dll_CreateBrushIndirect]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x10013109
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10013016
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, 0x209f
mov al, byte [esi]
push 2
setl cl
mov byte [ebp - 0xd], al
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x38]
call fcn.10013ee8
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x24], 0x2c40a98c
mov dword [ebp - 0x18], ebx
jmp 0x10013170
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10013164
mov eax, dword [ebp - 0x38]
mov dword [eax], ebx
mov dword [ebp - 0x18], 0x18
jmp 0x100131a8
mov byte [ebp - 0xe], bl
cmp byte [ebp - 0xe], 0
je 0x10013194
push ebx
call dword [sym.imp.USER32.dll_SetCursor]
mov byte [ebp - 0xe], bl
cmp byte [ebp - 0xe], 0
je 0x100131a5
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_EqualSid]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1d
jg 0x10013184
lea ecx, [ebp - 0x38]
call fcn.100144eb
mov dword [ebp - 0x18], 0xb743d837
mov eax, 0x643b8a2
mov dword [ebp - 0x24], 0xfa147b80
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x24], 0xfbe58499
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x54], 0x6088
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov esi, dword [sym.imp.USER32.dll_GetDC]
sub eax, 0x279c
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x24], eax
sets cl
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setg dl
sub dword [ebp - 0x18], edx
mov byte [ebp - 0xe], bl
cmp byte [ebp - 0xe], 0
je 0x10013236
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_SaveDC]
mov cl, byte [ebp - 0xd]
mov dl, 0x2b
call fcn.10014e4b
mov byte [ebp - 0xd], al
mov dword [ebp - 0x1c], 3
mov dword [ebp - 0x24], 0x19ac196a
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x24], 0xfffffff9
mov byte [ebp - 0xe], bl
cmp byte [ebp - 0xe], 0
je 0x100132af
push 0x7d0
push 0x1a45
push 0x1f12
push ebx
push 0x144f
push 0xe65
call edi
push eax
call esi
push eax
push 0x370
push 0xdd2
push 0x26f7
push 0x1da5
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_MaskBlt]
mov dword [ebp - 0x24], ebx
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
pop edi
setg dl
xor eax, eax
add edx, dword [ebp - 0x1c]
cmp edx, 0x4ad744d0
pop esi
setl al
xor ecx, ecx
cmp eax, 0xb9a7
mov eax, dword [ebp - 0x24]
pop ebx
setne cl
sub eax, ecx
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp eax, edx
mov al, byte [ebp - 0xd]
setge cl
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret