Function at 0x42acf0
Capabilities:
Compare security identifiers

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x80
mov esi, ecx
mov ebx, dword [ebp + 0xc]
mov eax, dword [0x64a040]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, 0xffffff00
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
xor eax, eax
dec eax
lea edx, [ebp - 0x30]
mov dword [edx + 8], eax
mov dword [edx + 4], eax
mov dword [edx], eax
mov eax, fcn.00423fc0
mov dword [ebp - 0x64], eax
add ecx, 0xc
push eax
push ecx
push edx
call fcn.00423eb0
add esp, 0xc
cmp byte [esi + 0x44], 0
mov dword [ebp - 0x78], esi
jne 0x42ad73
cmp byte [esi + 0x37], 0
je 0x42af68
mov edx, dword [ebx]
lea esi, [ebp - 0x64]
mov ecx, esi
push 2
call fcn.0042c4c0
add esp, 4
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x7c], eax
cmp edi, eax
jne 0x42aea0
jmp 0x42af10
lea edi, [ebp - 0x64]
mov ecx, ebx
push edi
call fcn.00423a00
mov esi, dword [edi]
mov ebx, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
sub ebx, esi
je 0x42adbb
js 0x42bc17
push ebx
call fcn.0057dc30
add esp, 4
mov dword [ebp - 0x1c], eax
lea edi, [eax + ebx]
mov dword [ebp - 0x14], edi
push ebx
push esi
push eax
call fcn.005822f0
add esp, 0xc
mov dword [ebp - 0x18], edi
test esi, esi
je 0x42add7
mov eax, dword [ebp - 0x74]
dec eax
cmp ebx, eax
ja 0x42be06
mov dword [ebp - 0x60], esi
push esi
call fcn.0057dc2b
add esp, 4
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jb 0x42beb7
lea edi, [ebp - 0x1c]
lea esi, [ebp - 0x30]
mov ecx, esi
push edi
call fcn.0042bfe0
mov ecx, dword [edi]
mov dword [esi + 4], eax
test ecx, ecx
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
je 0x42ad43
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x42be03
mov dword [ebp - 0x18], ecx
push ecx
call fcn.0057dc2b
add esp, 4
jmp 0x42ad43
mov eax, edi
mov edi, dword [edi]
mov dword [ebp - 0x74], eax
mov esi, dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
sub esi, edi
je 0x42ae64
js 0x42bc17
push esi
call fcn.0057dc30
add esp, 4
mov dword [ebp - 0x1c], eax
lea ebx, [eax + esi]
mov dword [ebp - 0x14], ebx
push esi
push edi
push eax
call fcn.005822f0
add esp, 0xc
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jae 0x42aed3
test eax, eax
mov edi, dword [ebp - 0x74]
je 0x42bc31
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x14]
mov dword [eax + 8], ecx
add eax, 0xc
mov dword [ebp - 0x2c], eax
add edi, 0x10
cmp edi, dword [ebp - 0x7c]
je 0x42af0a
mov eax, dword [edi + 0xc]
cmp eax, 0xbfffffff
ja 0x42ae98
and eax, 0x20
jne 0x42ae98
mov eax, dword [ebp - 0x78]
mov ebx, dword [eax + 0x38]
mov esi, dword [eax + 0x3c]
cmp ebx, esi
je 0x42ae25
push dword [edi]
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_EqualSid]
test eax, eax
jne 0x42ae98
add ebx, 0xc
jmp 0x42aeb8
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x1c]
push eax
call fcn.0042bfe0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
test ecx, ecx
mov edi, dword [ebp - 0x74]
je 0x42ae98
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x42bc3a
mov dword [ebp - 0x18], ecx
push ecx
call fcn.0057dc2b
add esp, 4
jmp 0x42ae98
mov edi, dword [ebp - 0x64]
mov ebx, dword [ebp + 0xc]
test edi, edi
je 0x42af65
mov esi, dword [ebp - 0x60]
mov eax, edi
cmp esi, edi
je 0x42af59
add esi, 0xfffffff0
jmp 0x42af37
mov dword [esi + 4], eax
push eax
call fcn.0057dc2b
add esp, 4
lea eax, [esi - 0x10]
cmp esi, edi
mov esi, eax
je 0x42af56
test esi, esi
je 0x42bc22
mov eax, dword [esi]
test eax, eax
je 0x42af2e
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x42af22
jmp 0x42bc34
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], edi
push eax
call fcn.0057dc2b
add esp, 4
mov esi, dword [ebp - 0x78]
lea ecx, [ebp - 0x3c]
xor eax, eax
dec eax
mov dword [ecx + 8], eax
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov eax, fcn.00423fc0
mov dword [ebp - 0x64], eax
push eax
push esi
push ecx
call fcn.00423eb0
add esp, 0xc
cmp byte [esi + 0x46], 0
je 0x42b03c
lea edi, [ebp - 0x64]
mov ecx, ebx
push edi
call fcn.00423a00
mov esi, dword [edi]
mov ebx, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
sub ebx, esi
je 0x42afdb
js 0x42bc17
push ebx
call fcn.0057dc30
add esp, 4
mov dword [ebp - 0x1c], eax
lea edi, [eax + ebx]
mov dword [ebp - 0x14], edi
push ebx
push esi
push eax
call fcn.005822f0
add esp, 0xc
mov dword [ebp - 0x18], edi
test esi, esi
je 0x42aff7
mov eax, dword [ebp - 0x74]
dec eax
cmp ebx, eax
ja 0x42bd21
mov dword [ebp - 0x60], esi
push esi
call fcn.0057dc2b
add esp, 4
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x42be09
lea edi, [ebp - 0x1c]
lea esi, [ebp - 0x3c]
mov ecx, esi
push edi
call fcn.0042bfe0
mov ecx, dword [edi]
mov dword [esi + 4], eax
test ecx, ecx
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
je 0x42b03c
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x42bd24
mov dword [ebp - 0x18], ecx
push ecx
call fcn.0057dc2b
add esp, 4
cmp byte [esi + 0x47], 0
je 0x42b19a
mov edx, dword [ebx]
lea esi, [ebp - 0x64]
mov ecx, esi
push 2
call fcn.0042c4c0
add esp, 4
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x7c], eax
cmp edi, eax
jne 0x42b09d
jmp 0x42b129
test eax, eax
je 0x42bc2b
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x14]
mov dword [eax + 8], ecx
add eax, 0xc
mov dword [ebp - 0x38], eax
add edi, 0x10
cmp edi, dword [ebp - 0x7c]
je 0x42b126
test byte [edi + 0xc], 0x20
jne 0x42b091
mov ebx, dword [edi]
mov esi, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
sub esi, ebx
je 0x42b0e3
js 0x42bc17
push esi
call fcn.0057dc30
add esp, 4
mov dword [ebp - 0x1c], eax
lea ecx, [eax + esi]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x14], ecx
push esi
push ebx
push eax
call fcn.005822f0
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x42b068
lea ecx, [ebp - 0x3c]
lea eax, [ebp - 0x1c]
push eax
call fcn.0042bfe0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
test ecx, ecx
je 0x42b091
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x42bc50
mov dword [ebp - 0x18], ecx
push ecx
call fcn.0057dc2b
add esp, 4
jmp 0x42b091
mov edi, dword [ebp - 0x64]
test edi, edi
je 0x42b194
mov esi, dword [ebp - 0x60]
mov eax, edi
cmp esi, edi
je 0x42b188
add esi, 0xfffffff0
jmp 0x42b150
mov dword [esi + 4], eax
push eax
call fcn.0057dc2b
add esp, 4
lea eax, [esi - 0x10]
cmp esi, edi
mov esi, eax
je 0x42b185
test esi, esi
je 0x42bc25
mov eax, dword [esi]
test eax, eax
je 0x42b147
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x42b13b
jmp 0x42bc37
test al, al
je 0x42b216
lea ecx, [ebp - 0x24]
push edi
call fcn.00443ab0
jmp 0x42b208
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], edi
push eax
call fcn.0057dc2b
add esp, 4
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
cmp byte [esi + 0x45], 0
jne 0x42bbb9
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x2c]
jne 0x42b1b8
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x38]
je 0x42be3d
xor eax, eax
lea edx, [ebp - 0x64]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
cmp byte [esi + 0x35], 1
adc eax, 1
lea edi, [ebp - 0x1c]
mov ecx, ebx
push 0xf01ff
lea ebx, [ebp - 0x3c]
push ebx
push edx
lea edx, [ebp - 0x30]
push edx
push eax
push edi
call fcn.0042c7f0
mov al, byte [ebp - 0x20]
cmp al, byte [edi + 4]
je 0x42b16f
lea esi, [ebp - 0x24]
mov ecx, esi
test al, al
jne 0x42bcb9
push edi
call fcn.0042bf00
mov byte [esi + 4], 1
mov esi, dword [ebp - 0x78]
cmp byte [ebp - 0x18], 0
je 0x42b216
lea ecx, [ebp - 0x1c]
call fcn.0043b280
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x42bd90
mov ebx, dword [ebp + 8]
cmp byte [ebp - 0x20], 0
je 0x42bc96
cmp byte [esi + 0x35], 0
je 0x42b26b
cmp byte [esi + 0x36], 0
je 0x42b26b
lea ecx, [ebp - 0x24]
call fcn.0042c720
test al, al
je 0x42bc96
xor eax, eax
cmp byte [ebp - 0x20], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov eax, 0xffffffff
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], eax
jne 0x42b27f
jmp 0x42bd15
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
xor eax, eax
dec eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], eax
lea esi, [ebp - 0x44]
lea ecx, [ebp - 0x24]
push esi
call fcn.0042c2d0
cmp byte [esi + 4], 0
je 0x42bc3d
mov eax, dword [ebp - 0x78]
cmp byte [eax + 0x34], 0
je 0x42bd27
pcmpeqd xmm0, xmm0
movdqu xmmword [ebp - 0x64], xmm0
cmp byte [ebp - 0x20], 0
je 0x42bc59
lea esi, [ebp - 0x64]
lea ecx, [ebp - 0x24]
push esi
call fcn.0042c3a0
cmp byte [esi + 0xc], 0
je 0x42bdb0
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp edi, eax
jb 0x42bcf7
mov edx, dword [ebp - 0x1c]
sub edi, edx
sar edi, 3
imul edi, edi, 0xaaaaaaab
lea ecx, [edi + 1]
cmp ecx, 0xaaaaaab
jae 0x42bc5c
sub eax, edx
sar eax, 3
imul eax, eax, 0xaaaaaaab
lea edx, [eax + eax]
cmp edx, ecx
cmova ecx, edx
cmp eax, 0x5555555
mov eax, 0xaaaaaaa
cmovb eax, ecx
test eax, eax
mov dword [ebp - 0x74], eax
je 0x42bc5f
cmp eax, 0xaaaaaab
jae 0x42bc66
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
call fcn.0057dc30
add esp, 4
lea edi, [edi + edi*2]
shl edi, 3
mov dword [ebp - 0x7c], eax
add edi, eax
je 0x42bc69
mov ecx, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x60]
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
sub ebx, ecx
je 0x42b390
mov dword [ebp - 0x80], ecx
js 0x42bc49
push ebx
call fcn.0057dc30
add esp, 4
mov dword [edi], eax
lea esi, [eax + ebx]
mov dword [edi + 8], esi
push ebx
push dword [ebp - 0x80]
push eax
call fcn.005822f0
add esp, 0xc
mov dword [edi + 4], esi
xor eax, eax
mov dword [edi + 0xc], 3
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov eax, ebx
sub eax, esi
lea edx, [edi + eax]
mov dword [ebp - 0x80], edx
je 0x42b443
mov dword [ebp - 0x84], esi
xor eax, eax
mov ecx, ebx
test edx, edx
je 0x42bcee
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov esi, dword [ecx]
mov dword [edx], esi
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov dword [ecx + 8], eax
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov esi, dword [ecx + 0x14]
mov dword [edx + 0x14], esi
movq xmm0, qword [ecx + 0xc]
movq qword [edx + 0xc], xmm0
add ecx, 0x18
add edx, 0x18
cmp ecx, dword [ebp - 0x84]
jne 0x42b3bd
mov ecx, dword [ebp - 0x84]
test ebx, ebx
je 0x42bcf1
mov eax, dword [ebx]
test eax, eax
je 0x42b439
mov ecx, dword [ebx + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x42bcf4
mov dword [ebx + 4], eax
push eax
call fcn.0057dc2b
add esp, 4
mov ecx, dword [ebp - 0x84]
add ebx, 0x18
cmp ebx, ecx
jne 0x42b409
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x74]
lea eax, [eax + eax*2]
mov ecx, dword [ebp - 0x7c]
lea eax, [ecx + eax*8]
add edi, 0x18
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], eax
test esi, esi
jne 0x42bca2
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x18], edi
cmp byte [ebp - 0x58], 0
je 0x42b495
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x42b495
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x42bcb0
mov dword [ebp - 0x60], eax
push eax
call fcn.0057dc2b
add esp, 4
mov eax, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp eax, esi
je 0x42b659
mov dword [ebp - 0x80], esi
mov edi, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax]
mov dword [ebp - 0x7c], eax
mov ebx, dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov eax, 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x8c], edx
sub ebx, edx
je 0x42b520
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x84], esi
js 0x42bcc7
push ebx
call fcn.0057dc30
add esp, 4
mov dword [ebp - 0x64], eax
lea esi, [eax + ebx]
mov dword [ebp - 0x5c], esi
push ebx
push dword [ebp - 0x8c]
mov dword [ebp - 0x88], eax
push eax
call fcn.005822f0
mov eax, esi
add esp, 0xc
mov dword [ebp - 0x60], esi
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x74]
mov edx, eax
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jb 0x42be76
mov edx, dword [ebp - 0x1c]
sub eax, edx
sar eax, 3
imul esi, eax, 0xaaaaaaab
lea ebx, [esi + 1]
cmp ebx, 0xaaaaaab
jae 0x42bccf
sub ecx, edx
sar ecx, 3
imul eax, ecx, 0xaaaaaaab
lea ecx, [eax + eax]
cmp ecx, ebx
cmova ebx, ecx
cmp eax, 0x5555555
mov eax, 0xaaaaaaa
cmovae ebx, eax
test ebx, ebx
je 0x42bcd2
cmp ebx, 0xaaaaaab
jae 0x42bcd9
lea eax, [ebx*8]
lea eax, [eax + eax*2]
push eax
call fcn.0057dc30
add esp, 4
lea esi, [esi + esi*2]
shl esi, 3
mov dword [ebp - 0x74], eax
add esi, eax
je 0x42bcdc
xor ecx, ecx
mov dword [esi], ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], ecx
mov eax, dword [ebp - 0x64]
mov dword [esi], eax
mov eax, dword [ebp - 0x60]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x5c]
mov dword [esi + 8], eax
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x64], ecx
lea ecx, [ebp - 0x58]
mov eax, dword [ecx + 8]
mov dword [esi + 0x14], eax
movq xmm0, qword [ecx]
movq qword [esi + 0xc], xmm0
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov eax, edi
sub eax, ecx
lea edx, [esi + eax]
mov dword [ebp - 0x84], edx
jne 0x42badb
mov edi, dword [ebp - 0x74]
lea eax, [ebx + ebx*2]
lea eax, [edi + eax*8]
add esi, 0x18
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], eax
test ecx, ecx
je 0x42b625
push ecx
call fcn.0057dc2b
add esp, 4
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x18], esi
test eax, eax
mov esi, dword [ebp - 0x80]
je 0x42b64b
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x42bcdf
push eax
call fcn.0057dc2b
add esp, 4
mov eax, dword [ebp - 0x7c]
add eax, 0x18
cmp eax, esi
jne 0x42b4a6
cmp byte [ebp - 0x20], 0
je 0x42bc6c
lea esi, [ebp - 0x64]
lea ecx, [ebp - 0x24]
push esi
call fcn.00423a00
mov ecx, dword [esi]
mov esi, dword [esi + 4]
xor ebx, ebx
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov eax, 0
sub esi, ecx
je 0x42b6c2
mov dword [ebp - 0x7c], ecx
js 0x42bc6f
push esi
call fcn.0057dc30
add esp, 4
mov edi, eax
mov dword [ebp - 0x70], eax
add eax, esi
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x68], eax
push esi
mov ebx, dword [ebp - 0x7c]
push ebx
push edi
call fcn.005822f0
mov ecx, ebx
mov eax, dword [ebp - 0x74]
mov ebx, edi
add esp, 0xc
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x74], eax
test ecx, ecx
je 0x42b6e1
mov eax, dword [ebp - 0x80]
dec eax
cmp esi, eax
ja 0x42bcb3
mov dword [ebp - 0x60], ecx
push ecx
call fcn.0057dc2b
add esp, 4
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp edi, eax
mov dword [ebp - 0x7c], ebx
jb 0x42ba7c
mov edx, dword [ebp - 0x1c]
sub edi, edx
sar edi, 3
imul esi, edi, 0xaaaaaaab
lea ecx, [esi + 1]
cmp ecx, 0xaaaaaab
jae 0x42bc86
sub eax, edx
sar eax, 3
imul eax, eax, 0xaaaaaaab
lea edx, [eax + eax]
cmp edx, ecx
cmova ecx, edx
cmp eax, 0x5555555
mov eax, 0xaaaaaaa
cmovb eax, ecx
test eax, eax
mov dword [ebp - 0x80], eax
je 0x42bc89
cmp eax, 0xaaaaaab
jae 0x42bc90
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
call fcn.0057dc30
add esp, 4
lea edi, [esi + esi*2]
shl edi, 3
mov dword [ebp - 0x84], eax
add edi, eax
mov eax, dword [ebp - 0x74]
je 0x42bc93
xor ecx, ecx
mov dword [edi], ecx
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
sub eax, ebx
je 0x42b7a8
js 0x42bc49
push eax
mov ebx, eax
call fcn.0057dc30
add esp, 4
mov dword [edi], eax
lea esi, [eax + ebx]
mov dword [edi + 8], esi
push ebx
push dword [ebp - 0x7c]
push eax
call fcn.005822f0
add esp, 0xc
mov dword [edi + 4], esi
xor ecx, ecx
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], 0x10000000
mov dword [edi + 0x14], ecx
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov eax, ebx
sub eax, esi
lea edx, [edi + eax]
je 0x42b84d
mov ecx, ebx
mov dword [ebp - 0x74], edx
test edx, edx
je 0x42bd18
xor eax, eax
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
xor eax, eax
mov dword [ecx + 8], eax
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov eax, dword [ecx + 0x14]
mov dword [edx + 0x14], eax
movq xmm0, qword [ecx + 0xc]
movq qword [edx + 0xc], xmm0
add ecx, 0x18
add edx, 0x18
cmp ecx, esi
jne 0x42b7cd
mov edx, dword [ebp - 0x74]
test ebx, ebx
je 0x42bd1b
mov eax, dword [ebx]
test eax, eax
je 0x42b843
mov ecx, dword [ebx + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x42bd1e
mov dword [ebx + 4], eax
push eax
call fcn.0057dc2b
add esp, 4
mov edx, dword [ebp - 0x74]
add ebx, 0x18
cmp ebx, esi
jne 0x42b816
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
lea eax, [eax + eax*2]
mov ecx, dword [ebp - 0x84]
lea eax, [ecx + eax*8]
add edi, 0x18
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], eax
test esi, esi
mov ebx, dword [ebp + 8]
je 0x42b878
push esi
call fcn.0057dc2b
add esp, 4
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x42b89e
mov ecx, dword [ebp - 0x6c]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x42bcb6
push eax
call fcn.0057dc2b
add esp, 4
cmp byte [ebp - 0x40], 0
je 0x42bc77
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x44]
push eax
call fcn.00441670
test al, al
je 0x42bc3d
cmp byte [ebp - 0x20], 0
je 0x42bc7a
cmp byte [ebp - 0x40], 0
je 0x42bc7d
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x64], eax
push 4
lea eax, [ebp - 0x64]
push eax
push 6
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_SetTokenInformation]
test eax, eax
je 0x42bc3d
cmp byte [esi + 0x30], 0
je 0x42b912
cmp byte [ebp - 0x20], 0
je 0x42bc80
lea ecx, [ebp - 0x24]
push dword [esi + 0x2c]
call fcn.0042c170
test al, al
je 0x42bc3d
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
cmp byte [ebp - 0x20], al
je 0x42b935
test ebx, ebx
je 0x42bc83
mov ecx, ebx
lea eax, [ebp - 0x24]
push eax
call fcn.0042bf00
mov byte [ebx + 4], 1
cmp byte [ebp - 0x40], 0
je 0x42b952
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], 0
test eax, eax
je 0x42b952
push eax
call fcn.0057f43d
add esp, 4
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x42b9a7
mov edi, dword [ebp - 0x18]
mov eax, esi
cmp edi, esi
je 0x42b99b
add edi, 0xffffffe8
test edi, edi
je 0x42bc53
mov eax, dword [edi]
test eax, eax
je 0x42b98f
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x42bc56
mov dword [edi + 4], eax
push eax
call fcn.0057dc2b
add esp, 4
lea eax, [edi - 0x18]
cmp edi, esi
mov edi, eax
jne 0x42b965
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], esi
push eax
call fcn.0057dc2b
add esp, 4
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x42b9ff
mov edi, dword [ebp - 0x38]
mov eax, esi
cmp edi, esi
je 0x42b9f3
add edi, 0xfffffff4
jmp 0x42b9d1
mov dword [edi + 4], eax
push eax
call fcn.0057dc2b
add esp, 4
lea eax, [edi - 0xc]
cmp edi, esi
mov edi, eax
je 0x42b9f0
test edi, edi
je 0x42bc1f
mov eax, dword [edi]
test eax, eax
je 0x42b9c8
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x42b9bc
jmp 0x42bc2e
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], esi
push eax
call fcn.0057dc2b
add esp, 4
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x42ba23
mov edi, dword [ebp - 0x2c]
mov eax, esi
cmp edi, esi
je 0x42ba17
add edi, 0xfffffff4
jmp 0x42ba5f
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], esi
push eax
call fcn.0057dc2b
add esp, 4
cmp byte [ebp - 0x20], 0
je 0x42ba31
lea ecx, [ebp - 0x24]
call fcn.0043b280
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005810d5
mov eax, ebx
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov dword [edi + 4], eax
push eax
call fcn.0057dc2b
add esp, 4
lea eax, [edi - 0xc]
cmp edi, esi
mov edi, eax
je 0x42ba14
test edi, edi
je 0x42bc28
mov eax, dword [edi]
test eax, eax
je 0x42ba56
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x42ba4a
int3
test edi, edi
je 0x42bdad
xor ecx, ecx
mov dword [edi], ecx
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov eax, dword [ebp - 0x74]
sub eax, ebx
je 0x42bac0
js 0x42bc49
push eax
mov ebx, eax
call fcn.0057dc30
add esp, 4
mov dword [edi], eax
lea esi, [eax + ebx]
mov dword [edi + 8], esi
push ebx
push dword [ebp - 0x7c]
push eax
call fcn.005822f0
add esp, 0xc
mov dword [edi + 4], esi
xor ecx, ecx
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], 0x10000000
mov dword [edi + 0x14], ecx
add edi, 0x18
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 8]
jmp 0x42b87b
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x8c], edi
mov eax, edi
mov ecx, edx
test ecx, ecx
je 0x42bce2
xor edi, edi
mov dword [ecx], edi
mov dword [ecx + 4], edi
mov dword [ecx + 8], edi
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov dword [eax + 8], edi
mov dword [eax + 4], edi
mov dword [eax], edi
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x14], edx
movq xmm0, qword [eax + 0xc]
movq qword [ecx + 0xc], xmm0
add eax, 0x18
add ecx, 0x18
cmp eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x74]
jne 0x42baeb
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x8c]
test edx, edx
je 0x42bce5
mov eax, dword [edx]
test eax, eax
je 0x42bb79
mov ecx, dword [edx + 4]
mov edi, edx
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x42bce8
mov dword [edi + 4], eax
push eax
call fcn.0057dc2b
add esp, 4
mov edx, edi
mov edi, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x88]
add edx, 0x18
cmp edx, ecx
jne 0x42bb42
mov ecx, dword [ebp - 0x1c]
jmp 0x42b600
test eax, eax
je 0x42beea
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x64]
mov dword [eax], edx
mov edx, dword [ebp - 0x60]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x5c]
mov dword [eax + 8], edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x64], ecx
add eax, 0xc
jmp 0x42bbe3
pcmpeqd xmm0, xmm0
lea esi, [ebp - 0x64]
movdqu xmmword [esi], xmm0
mov ecx, ebx
push esi
call fcn.0042c3a0
cmp byte [esi + 0xc], 0
je 0x42bc0f
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x42bb88
lea ecx, [ebp - 0x3c]
push esi
call fcn.0042bfe0
mov dword [ebp - 0x38], eax
cmp byte [ebp - 0x58], 0
je 0x42bc0f
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x42bc0f
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x42bee7
mov dword [ebp - 0x60], eax
push eax
call fcn.0057dc2b
add esp, 4
mov esi, dword [ebp - 0x78]
jmp 0x42b1a4
lea ecx, [ebp - 0x1c]
call fcn.005aacb0
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
jmp 0x42b935
mov ecx, edi
call fcn.005aacb0
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x42b33f
int3
int3
int3
lea ecx, [ebp - 0x70]
call fcn.005aacb0
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x42b758
int3
int3
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
jmp 0x42b9a7
push esi
call fcn.0057dc2b
add esp, 4
jmp 0x42b466
int3
int3
int3
call fcn.0043b280
mov byte [esi + 4], 0
jmp 0x42b205
lea ecx, [ebp - 0x64]
call fcn.005aacb0
int3
xor eax, eax
jmp 0x42b59d
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
test edi, edi
je 0x42bef3
xor eax, eax
mov ecx, edi
push eax
push eax
push 3
push esi
call fcn.0046a2a0
add edi, 0x18
jmp 0x42b466
int3
int3
int3
int3
int3
int3
xor eax, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x70], 0x10000000
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], 0xa
mov esi, dword [ebp - 0x18]
cmp esi, dword [ebp - 0x14]
jae 0x42bd72
test esi, esi
je 0x42beed
sub esp, 0x10
movdqa xmm0, xmmword [0x641da0]
movdqu xmmword [esp], xmm0
mov ecx, esi
call fcn.0046a310
add esi, 0x18
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x78]
jmp 0x42b495
lea eax, [ebp - 0x64]
lea esi, [ebp - 0x70]
lea edi, [ebp - 0x48]
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x4c]
push eax
push esi
push edi
call fcn.00611bf0
add esp, 0xc
mov esi, eax
jmp 0x42bd67
lea esi, [ebp - 0x64]
mov ecx, esi
push eax
call fcn.00557c90
push dword [esi]
mov esi, dword [ebp - 0x78]
call fcn.0057dc2b
add esp, 4
jmp 0x42b221
int3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
mov esi, dword [ebp - 0x78]
je 0x42b46c
xor eax, eax
mov ecx, dword [ebp + 8]
mov byte [ecx], al
mov byte [ecx + 4], al
cmp byte [ebp - 0x58], al
je 0x42b935
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x42b935
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x42bef0
mov dword [ebp - 0x60], eax
push eax
call fcn.0057dc2b
add esp, 4
jmp 0x42b935
int3
int3
test eax, eax
je 0x42bef6
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x14]
mov dword [eax + 8], ecx
add eax, 0xc
mov dword [ebp - 0x38], eax
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
jmp 0x42b03c
cmp byte [esi + 0x35], 0
jne 0x42b1b8
lea esi, [ebp - 0x64]
mov ecx, ebx
push 0xf01ff
push esi
call fcn.005e2670
lea ecx, [ebp - 0x24]
push esi
call fcn.00443a60
cmp byte [esi + 4], 0
je 0x42be6e
lea ecx, [ebp - 0x64]
call fcn.0043b280
mov esi, dword [ebp - 0x78]
jmp 0x42b221
test eax, eax
je 0x42bceb
mov ecx, dword [ebp - 0x88]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x64], ecx
lea edx, [ebp - 0x58]
mov ecx, dword [edx + 8]
mov dword [eax + 0x14], ecx
movq xmm0, qword [edx]
movq qword [eax + 0xc], xmm0
add eax, 0x18
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 0x80]
jmp 0x42b64b
test eax, eax
je 0x42bef9
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x14]
mov dword [eax + 8], ecx
add eax, 0xc
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
jmp 0x42ad43
int3
int3
int3
int3
int3
int3
int3