Function at 0x40cab5
Capabilities:
Compare security identifiers

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
push esi
push edi
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x3c], 0x5b1b6fd4
mov dword [ebp - 0xc4], 1
mov dword [ebp - 0x108], 8
mov dword [ebp - 0x34], 0
jmp 0x40caf2
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 4
jge 0x40cb08
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xf4], 0x4e064826
jmp 0x40caeb
mov dword [ebp - 0x10], 0
jmp 0x40cb18
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x40cb2e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf4], 0
jmp 0x40cb11
mov dword [ebp - 0x10], 0
jmp 0x40cb3e
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xfffffffc
jg 0x40d026
mov dword [ebp - 0x18], 0x34e6d4f2
mov dword [ebp - 0x98], 0x27289fff
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x40], 0x7f4ea14c
mov dword [ebp - 0x38], 0xffffffff
mov byte [ebp - 0x20], 0
movzx eax, byte [ebp - 0x20]
test eax, eax
je 0x40cb84
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_EqualSid]
mov dword [ebp - 0x18], 3
jmp 0x40cb94
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jl 0x40d021
mov dword [ebp - 0x104], 0xbaaa
mov dword [ebp - 0x100], 0xbaaa
mov dword [ebp - 0xfc], 0xbaaa
mov dword [ebp - 0xf8], 0xbaaa
mov dword [ebp - 0xb8], 0x7d8cf4c5
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0xf3cc
je 0x40cbf5
mov dword [ebp - 0x50], 1
jmp 0x40cbf9
and dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xf4]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0x27], 0xba
mov byte [ebp - 0x29], 0xbb
mov eax, dword [ebp - 0x18]
movzx ecx, byte [ebp - 0x27]
imul ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb0]
sub edx, ecx
movzx ecx, byte [ebp - 0x29]
imul ecx, dword [ebp - 0xac]
add edx, ecx
cmp dword [ebp + eax*4 - 0xf4], edx
jg 0x40cc4f
mov dword [ebp - 0x58], 1
jmp 0x40cc53
and dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xf4]
cmp dword [ebp - 0x58], eax
jl 0x40cc6b
mov dword [ebp - 0x48], 1
jmp 0x40cc6f
and dword [ebp - 0x48], 0
cmp dword [ebp - 0x48], 0xa116
jg 0x40cc81
mov dword [ebp - 0x60], 1
jmp 0x40cc85
and dword [ebp - 0x60], 0
cmp dword [ebp - 0x60], 0xfffffffc
jge 0x40cc97
mov dword [ebp - 0x88], 1
jmp 0x40cc9e
and dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x2b], 0x5f
mov byte [ebp - 0x1c], 0x60
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xdc], eax
movzx eax, byte [ebp - 0x2b]
imul eax, dword [ebp - 0x68]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x1e], 0x54
mov byte [ebp - 0x19], 0x55
mov al, byte [ebp - 0x1c]
mov byte [ebp - 0x28], al
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0x11], 0x8d
movzx eax, byte [ebp - 0x28]
movzx ecx, byte [ebp - 0x11]
sub eax, ecx
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x78], eax
mov byte [ebp - 9], 0xf8
mov al, byte [ebp - 0x1e]
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x70], eax
mov byte [ebp - 3], 0xd1
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xe4], eax
mov al, byte [ebp - 0x11]
mov byte [ebp - 5], al
mov byte [ebp - 0xb], 0x13
movzx eax, byte [ebp - 0x2c]
movzx ecx, byte [ebp - 3]
sub eax, ecx
imul eax, dword [ebp - 0x70]
movzx ecx, byte [ebp - 3]
mov edx, dword [ebp - 0x70]
imul edx, ecx
add eax, edx
mov ecx, dword [ebp - 0xdc]
sub ecx, eax
movzx eax, byte [ebp - 0x19]
imul eax, dword [ebp - 0x90]
add ecx, eax
movzx eax, byte [ebp - 9]
mov edx, dword [ebp - 0xc0]
sub edx, eax
imul edx, dword [ebp - 0x78]
movzx eax, byte [ebp - 9]
mov esi, dword [ebp - 0x78]
imul esi, eax
add edx, esi
movzx eax, byte [ebp - 0xb]
mov esi, dword [ebp - 0xe4]
sub esi, eax
movzx eax, byte [ebp - 5]
imul esi, eax
movzx eax, byte [ebp - 5]
movzx edi, byte [ebp - 0xb]
imul eax, edi
add esi, eax
add edx, esi
sub ecx, edx
cmp ecx, 5
jbe 0x40cdaa
mov dword [ebp - 0xa0], 1
jmp 0x40cdb1
and dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xa0], eax
jg 0x40cdc5
mov dword [ebp - 0x80], 1
jmp 0x40cdc9
and dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x40cdee
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xf4], 0
jne 0x40cdee
and dword [ebp - 0x5c], 0
jmp 0x40cdf5
mov dword [ebp - 0x5c], 1
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x40ce14
mov dword [ebp - 0x64], 0xffffffff
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
jmp 0x40d01c
mov dword [ebp - 0xd0], 0x122d800
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x74], eax
mov byte [ebp - 1], 0x22
cmp dword [ebp - 0xd0], 0
jne 0x40ce46
cmp dword [ebp - 0x38], 0
jne 0x40ce46
and dword [ebp - 0x6c], 0
jmp 0x40ce4d
mov dword [ebp - 0x6c], 1
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x7c], eax
mov byte [ebp - 0x2e], 0x7e
mov byte [ebp - 0x2d], 0x7f
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
mov al, byte [ebp - 1]
mov byte [ebp - 7], al
mov byte [ebp - 0x2a], 0xc3
mov byte [ebp - 0x22], 0xc4
movzx eax, byte [ebp - 0x2a]
movzx ecx, byte [ebp - 7]
imul eax, ecx
mov ecx, dword [ebp - 0xcc]
add ecx, eax
movzx eax, byte [ebp - 0x22]
movzx edx, byte [ebp - 7]
imul eax, edx
sub ecx, eax
imul ecx, dword [ebp - 0x74]
mov dword [ebp - 0xd8], ecx
movzx eax, byte [ebp - 1]
mov ecx, dword [ebp - 0x74]
imul ecx, eax
mov dword [ebp - 0x84], ecx
mov byte [ebp - 0x1a], 0xd2
mov byte [ebp - 0x26], 0xd3
mov al, byte [ebp - 0x2e]
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x8c], eax
mov byte [ebp - 4], 0xe9
mov al, byte [ebp - 0x24]
mov byte [ebp - 0x1b], al
mov al, byte [ebp - 4]
mov byte [ebp - 2], al
mov byte [ebp - 0x1d], 0x15
mov byte [ebp - 0x1f], 0x16
mov al, byte [ebp - 0x2d]
mov byte [ebp - 0x21], al
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x94], eax
mov byte [ebp - 6], 0xcf
mov al, byte [ebp - 0x26]
mov byte [ebp - 0x23], al
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x9c], eax
mov byte [ebp - 8], 0x4d
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x25], al
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa], 0x2b
cmp dword [ebp - 0x38], 0
jne 0x40cffe
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0xf4]
mov dword [ebp - 0x114], eax
movzx eax, byte [ebp - 0x1b]
movzx ecx, byte [ebp - 0x1d]
movzx edx, byte [ebp - 2]
imul ecx, edx
add eax, ecx
movzx ecx, byte [ebp - 0x1f]
movzx edx, byte [ebp - 2]
imul ecx, edx
sub eax, ecx
imul eax, dword [ebp - 0x8c]
movzx ecx, byte [ebp - 4]
mov edx, dword [ebp - 0x8c]
imul edx, ecx
add eax, edx
mov ecx, dword [ebp - 0xe0]
sub ecx, eax
movzx eax, byte [ebp - 0x21]
movzx edx, byte [ebp - 6]
sub eax, edx
imul eax, dword [ebp - 0x94]
movzx edx, byte [ebp - 6]
mov esi, dword [ebp - 0x94]
imul esi, edx
add eax, esi
lea eax, [ecx + eax - 0x116e074f]
mov dword [ebp - 0x3c], eax
movzx eax, byte [ebp - 8]
mov ecx, dword [ebp - 0x9c]
imul ecx, eax
movzx eax, byte [ebp - 8]
movzx edx, byte [ebp - 0x23]
sub edx, eax
imul edx, dword [ebp - 0x9c]
add edx, ecx
movzx eax, byte [ebp - 0xa]
mov ecx, dword [ebp - 0xa4]
imul ecx, eax
movzx eax, byte [ebp - 0xa]
movzx esi, byte [ebp - 0x25]
sub esi, eax
imul esi, dword [ebp - 0xa4]
add esi, ecx
mov eax, dword [ebp - 0xd8]
sub eax, esi
add eax, edx
cmp eax, dword [ebp - 0x3c]
jl 0x40cffe
and dword [ebp - 0x4c], 0
jmp 0x40d005
mov dword [ebp - 0x4c], 1
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x104]
imul eax, dword [ebp - 0x4c]
mov dword [ebp - 0xc4], eax
jmp 0x40cb8d
jmp 0x40cb37
mov eax, dword [0xaa4d94]
and eax, 1
jne 0x40d052
mov eax, dword [0xaa4d94]
or eax, 1
mov dword [0xaa4d94], eax
mov ecx, 0xaa4d98
call fcn.0040e1d3
push 0x4aa82c
call fcn.004946cf
pop ecx
mov ecx, dword [ebp + 0xc]
call fcn.0040ba90
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 3
jae 0x40d0cf
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x110]
push eax
mov ecx, 0xaa4d98
call fcn.0040e268
push eax
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0x10c]
push eax
mov ecx, 0xaa4d98
call fcn.0040e276
mov ecx, eax
call fcn.0040e28b
movzx eax, al
test eax, eax
je 0x40d0cf
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xb4]
push eax
mov ecx, 0xaa4d98
call fcn.0040e205
push eax
mov ecx, dword [ebp + 8]
call fcn.0040e0a5
mov eax, dword [ebp + 8]
jmp 0x40d16a
lea eax, [ebp - 0x150]
push eax
call fcn.004017fe
pop ecx
mov esi, eax
lea edi, [ebp - 0x144]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x144]
lea edi, [ebp - 0x120]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xc]
call fcn.0040bbc5
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x120]
push eax
push dword [ebp - 0xbc]
push dword [ebp - 0x44]
lea eax, [ebp - 0x138]
push eax
call fcn.0040bdc8
add esp, 0x10
cmp dword [ebp - 0x44], 3
jae 0x40d14d
push 0
push 0x3733
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp + 0xc]
push eax
push 0xaa4d98
push 0x5247
call fcn.0040d231
add esp, 0x18
lea eax, [ebp - 0x138]
push eax
mov ecx, dword [ebp + 8]
call fcn.0040e0dc
lea ecx, [ebp - 0x138]
call fcn.0040e135
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret