Function at 0x42f950
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 [0x644040]
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.004144f0
mov dword [ebp - 0x64], eax
add ecx, 0xc
push eax
push ecx
push edx
call fcn.004143e0
add esp, 0xc
cmp byte [esi + 0x44], 1
mov dword [ebp - 0x78], esi
je 0x42f9d3
cmp byte [esi + 0x37], 1
jne 0x42fbc8
mov edx, dword [ebx]
lea esi, [ebp - 0x64]
mov ecx, esi
push 2
call fcn.00431120
add esp, 4
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x7c], eax
cmp edi, eax
jne 0x42fb00
jmp 0x42fb70
lea edi, [ebp - 0x64]
mov ecx, ebx
push edi
call fcn.00590b60
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 0x42fa1b
js 0x43086a
push ebx
call fcn.00562bc5
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.005670c0
add esp, 0xc
mov dword [ebp - 0x18], edi
test esi, esi
je 0x42fa37
mov eax, dword [ebp - 0x74]
dec eax
cmp ebx, eax
ja 0x430a5d
mov dword [ebp - 0x60], esi
push esi
call fcn.00562bc0
add esp, 4
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jb 0x430b0e
lea edi, [ebp - 0x1c]
lea esi, [ebp - 0x30]
mov ecx, esi
push edi
call fcn.00430c40
mov ecx, dword [edi]
mov dword [esi + 4], eax
test ecx, ecx
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
je 0x42f9a3
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x430a5a
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00562bc0
add esp, 4
jmp 0x42f9a3
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 0x42fac4
js 0x43086a
push esi
call fcn.00562bc5
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.005670c0
add esp, 0xc
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jae 0x42fb33
test eax, eax
mov edi, dword [ebp - 0x74]
je 0x430884
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 0x42fb6a
mov eax, dword [edi + 0xc]
cmp eax, 0xbfffffff
ja 0x42faf8
and eax, 0x20
jne 0x42faf8
mov eax, dword [ebp - 0x78]
mov ebx, dword [eax + 0x38]
mov esi, dword [eax + 0x3c]
cmp ebx, esi
je 0x42fa85
push dword [edi]
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_EqualSid]
test eax, eax
jne 0x42faf8
add ebx, 0xc
jmp 0x42fb18
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x1c]
push eax
call fcn.00430c40
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
test ecx, ecx
mov edi, dword [ebp - 0x74]
je 0x42faf8
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x43088d
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00562bc0
add esp, 4
jmp 0x42faf8
mov edi, dword [ebp - 0x64]
mov ebx, dword [ebp + 0xc]
test edi, edi
je 0x42fbc5
mov esi, dword [ebp - 0x60]
mov eax, edi
cmp esi, edi
je 0x42fbb9
add esi, 0xfffffff0
jmp 0x42fb97
mov dword [esi + 4], eax
push eax
call fcn.00562bc0
add esp, 4
lea eax, [esi - 0x10]
cmp esi, edi
mov esi, eax
je 0x42fbb6
test esi, esi
je 0x430875
mov eax, dword [esi]
test eax, eax
je 0x42fb8e
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x42fb82
jmp 0x430887
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], edi
push eax
call fcn.00562bc0
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.004144f0
mov dword [ebp - 0x64], eax
push eax
push esi
push ecx
call fcn.004143e0
add esp, 0xc
cmp byte [esi + 0x46], 1
jne 0x42fc9c
lea edi, [ebp - 0x64]
mov ecx, ebx
push edi
call fcn.00590b60
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 0x42fc3b
js 0x43086a
push ebx
call fcn.00562bc5
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.005670c0
add esp, 0xc
mov dword [ebp - 0x18], edi
test esi, esi
je 0x42fc57
mov eax, dword [ebp - 0x74]
dec eax
cmp ebx, eax
ja 0x430977
mov dword [ebp - 0x60], esi
push esi
call fcn.00562bc0
add esp, 4
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x430a99
lea edi, [ebp - 0x1c]
lea esi, [ebp - 0x3c]
mov ecx, esi
push edi
call fcn.00430c40
mov ecx, dword [edi]
mov dword [esi + 4], eax
test ecx, ecx
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
je 0x42fc9c
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x43097a
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00562bc0
add esp, 4
cmp byte [esi + 0x47], 1
jne 0x42fdfa
mov edx, dword [ebx]
lea esi, [ebp - 0x64]
mov ecx, esi
push 2
call fcn.00431120
add esp, 4
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x7c], eax
cmp edi, eax
jne 0x42fcfd
jmp 0x42fd89
test eax, eax
je 0x43087e
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 0x42fd86
test byte [edi + 0xc], 0x20
jne 0x42fcf1
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 0x42fd43
js 0x43086a
push esi
call fcn.00562bc5
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.005670c0
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x42fcc8
lea ecx, [ebp - 0x3c]
lea eax, [ebp - 0x1c]
push eax
call fcn.00430c40
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
test ecx, ecx
je 0x42fcf1
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x4308a3
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00562bc0
add esp, 4
jmp 0x42fcf1
mov edi, dword [ebp - 0x64]
test edi, edi
je 0x42fdf4
mov esi, dword [ebp - 0x60]
mov eax, edi
cmp esi, edi
je 0x42fde8
add esi, 0xfffffff0
jmp 0x42fdb0
mov dword [esi + 4], eax
push eax
call fcn.00562bc0
add esp, 4
lea eax, [esi - 0x10]
cmp esi, edi
mov esi, eax
je 0x42fde5
test esi, esi
je 0x430878
mov eax, dword [esi]
test eax, eax
je 0x42fda7
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x42fd9b
jmp 0x43088a
test al, al
je 0x42fe70
lea ecx, [ebp - 0x24]
push edi
call fcn.00437360
jmp 0x42fe70
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], edi
push eax
call fcn.00562bc0
add esp, 4
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
cmp byte [esi + 0x45], 1
je 0x430802
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x2c]
jne 0x42fe18
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x38]
je 0x430a60
xor ecx, ecx
lea eax, [ebp - 0x64]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
movzx ecx, byte [esi + 0x35]
mov edx, 2
sub edx, ecx
lea edi, [ebp - 0x1c]
mov ecx, ebx
push 0xf01ff
lea ebx, [ebp - 0x3c]
push ebx
push eax
lea eax, [ebp - 0x30]
push eax
push edx
push edi
call fcn.00431450
mov al, byte [ebp - 0x20]
cmp al, byte [edi + 4]
je 0x42fdcf
lea esi, [ebp - 0x24]
mov ecx, esi
test al, al
jne 0x43090f
push edi
call fcn.00430b60
mov byte [esi + 4], 1
mov esi, dword [ebp - 0x78]
cmp byte [ebp - 0x18], 1
jne 0x42fe7e
lea ecx, [ebp - 0x1c]
call fcn.00424690
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x4309e6
mov ebx, dword [ebp + 8]
mov al, byte [ebp - 0x20]
test al, al
je 0x4308ec
cmp byte [esi + 0x35], 1
jne 0x42feb6
cmp byte [esi + 0x36], 1
jne 0x42feb6
lea ecx, [ebp - 0x24]
call fcn.00431380
test al, al
je 0x4308ec
mov al, byte [ebp - 0x20]
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
xor ecx, ecx
dec ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], ecx
test al, 1
je 0x4308ac
lea esi, [ebp - 0x44]
lea ecx, [ebp - 0x24]
push esi
call fcn.00430f30
cmp byte [esi + 4], 0
je 0x430890
mov eax, dword [ebp - 0x78]
cmp byte [eax + 0x34], 1
jne 0x43097d
pcmpeqd xmm0, xmm0
movdqu xmmword [ebp - 0x64], xmm0
cmp byte [ebp - 0x20], 0
je 0x4308af
lea esi, [ebp - 0x64]
lea ecx, [ebp - 0x24]
push esi
call fcn.00431000
cmp byte [esi + 0xc], 1
jne 0x430a06
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp edi, eax
jb 0x43094d
mov edx, dword [ebp - 0x1c]
sub edi, edx
sar edi, 3
imul edi, edi, 0xaaaaaaab
lea ecx, [edi + 1]
cmp ecx, 0xaaaaaab
jae 0x4308b2
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 0x4308b5
cmp eax, 0xaaaaaab
jae 0x4308bc
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
call fcn.00562bc5
add esp, 4
lea edi, [edi + edi*2]
shl edi, 3
mov dword [ebp - 0x7c], eax
add edi, eax
je 0x4308bf
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 0x42ffe3
mov dword [ebp - 0x80], ecx
js 0x43089c
push ebx
call fcn.00562bc5
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.005670c0
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 ecx, dword [ebp - 0x18]
mov eax, ebx
sub eax, ecx
lea edx, [edi + eax]
mov esi, dword [ebp - 0x78]
je 0x43009f
mov dword [ebp - 0x80], ecx
xor eax, eax
mov ecx, ebx
mov dword [ebp - 0x84], edx
test edx, edx
je 0x430944
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 - 0x80]
mov esi, dword [ebp - 0x78]
jne 0x430013
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
test ebx, ebx
je 0x430947
mov eax, dword [ebx]
test eax, eax
je 0x430095
mov ecx, dword [ebx + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x43094a
mov dword [ebx + 4], eax
push eax
call fcn.00562bc0
add esp, 4
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
add ebx, 0x18
cmp ebx, ecx
jne 0x430062
mov ebx, 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 dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], eax
test ebx, ebx
jne 0x4308f8
mov dword [ebp - 0x18], edi
cmp byte [ebp - 0x58], 1
jne 0x4300eb
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x4300eb
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430906
mov dword [ebp - 0x60], eax
push eax
call fcn.00562bc0
add esp, 4
mov eax, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp eax, esi
je 0x4302a3
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 0x430176
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x84], esi
js 0x43091d
push ebx
call fcn.00562bc5
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.005670c0
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 0x430acd
mov edx, dword [ebp - 0x1c]
sub eax, edx
sar eax, 3
imul esi, eax, 0xaaaaaaab
lea ebx, [esi + 1]
cmp ebx, 0xaaaaaab
jae 0x430925
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 0x430928
cmp ebx, 0xaaaaaab
jae 0x43092f
lea eax, [ebx*8]
lea eax, [eax + eax*2]
push eax
call fcn.00562bc5
add esp, 4
lea esi, [esi + esi*2]
shl esi, 3
mov dword [ebp - 0x74], eax
add esi, eax
je 0x430932
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 edx, dword [ebp - 0x18]
mov eax, edi
sub eax, edx
lea ecx, [esi + eax]
jne 0x43072a
mov edx, dword [ebp - 0x74]
lea eax, [ebx + ebx*2]
lea eax, [edx + eax*8]
add esi, 0x18
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], eax
test edi, edi
je 0x43026f
push edi
call fcn.00562bc0
add esp, 4
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x18], esi
test eax, eax
mov esi, dword [ebp - 0x80]
je 0x430295
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430935
push eax
call fcn.00562bc0
add esp, 4
mov eax, dword [ebp - 0x7c]
add eax, 0x18
cmp eax, esi
jne 0x4300fc
cmp byte [ebp - 0x20], 0
je 0x4308c2
lea esi, [ebp - 0x64]
lea ecx, [ebp - 0x24]
push esi
call fcn.00590b60
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 0x43030c
mov dword [ebp - 0x7c], ecx
js 0x4308c5
push esi
call fcn.00562bc5
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.005670c0
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 0x43032b
mov eax, dword [ebp - 0x80]
dec eax
cmp esi, eax
ja 0x430909
mov dword [ebp - 0x60], ecx
push ecx
call fcn.00562bc0
add esp, 4
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp edi, eax
mov dword [ebp - 0x7c], ebx
jb 0x4306cb
mov edx, dword [ebp - 0x1c]
sub edi, edx
sar edi, 3
imul esi, edi, 0xaaaaaaab
lea ecx, [esi + 1]
cmp ecx, 0xaaaaaab
jae 0x4308dc
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 0x4308df
cmp eax, 0xaaaaaab
jae 0x4308e6
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
call fcn.00562bc5
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 0x4308e9
xor ecx, ecx
mov dword [edi], ecx
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
sub eax, ebx
je 0x4303f2
js 0x43089c
push eax
mov ebx, eax
call fcn.00562bc5
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.005670c0
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 esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
mov eax, esi
sub eax, ebx
lea edx, [edi + eax]
je 0x43049b
mov ecx, esi
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x7c], ebx
test edx, edx
je 0x43096e
xor ebx, ebx
mov dword [edx], ebx
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
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
mov dword [ecx + 8], ebx
mov dword [ecx + 4], ebx
mov dword [ecx], ebx
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
mov ebx, dword [ebp - 0x7c]
cmp ecx, ebx
jne 0x43041a
mov edx, dword [ebp - 0x74]
test esi, esi
je 0x430971
mov eax, dword [esi]
test eax, eax
je 0x430491
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430974
mov dword [esi + 4], eax
push eax
call fcn.00562bc0
add esp, 4
mov edx, dword [ebp - 0x74]
add esi, 0x18
cmp esi, ebx
jne 0x430464
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 0x4304c6
push esi
call fcn.00562bc0
add esp, 4
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x4304ec
mov ecx, dword [ebp - 0x6c]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x43090c
push eax
call fcn.00562bc0
add esp, 4
cmp byte [ebp - 0x40], 0
je 0x4308cd
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x44]
push eax
call fcn.0042ad70
test al, al
je 0x430890
cmp byte [ebp - 0x20], 0
je 0x4308d0
cmp byte [ebp - 0x40], 0
je 0x4308d3
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 0x430890
cmp byte [esi + 0x30], 1
jne 0x430560
cmp byte [ebp - 0x20], 0
je 0x4308d6
lea ecx, [ebp - 0x24]
push dword [esi + 0x2c]
call fcn.00430dd0
test al, al
je 0x430890
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
cmp byte [ebp - 0x20], 1
jne 0x430584
test ebx, ebx
je 0x4308d9
mov ecx, ebx
lea eax, [ebp - 0x24]
push eax
call fcn.00430b60
mov byte [ebx + 4], 1
cmp byte [ebp - 0x40], 1
jne 0x4305a1
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], 0
test eax, eax
je 0x4305a1
push eax
call fcn.005643dd
add esp, 4
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x4305f6
mov edi, dword [ebp - 0x18]
mov eax, esi
cmp edi, esi
je 0x4305ea
add edi, 0xffffffe8
test edi, edi
je 0x4308a6
mov eax, dword [edi]
test eax, eax
je 0x4305de
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x4308a9
mov dword [edi + 4], eax
push eax
call fcn.00562bc0
add esp, 4
lea eax, [edi - 0x18]
cmp edi, esi
mov edi, eax
jne 0x4305b4
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], esi
push eax
call fcn.00562bc0
add esp, 4
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x43064e
mov edi, dword [ebp - 0x38]
mov eax, esi
cmp edi, esi
je 0x430642
add edi, 0xfffffff4
jmp 0x430620
mov dword [edi + 4], eax
push eax
call fcn.00562bc0
add esp, 4
lea eax, [edi - 0xc]
cmp edi, esi
mov edi, eax
je 0x43063f
test edi, edi
je 0x430872
mov eax, dword [edi]
test eax, eax
je 0x430617
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x43060b
jmp 0x430881
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], esi
push eax
call fcn.00562bc0
add esp, 4
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x430672
mov edi, dword [ebp - 0x2c]
mov eax, esi
cmp edi, esi
je 0x430666
add edi, 0xfffffff4
jmp 0x4306ae
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], esi
push eax
call fcn.00562bc0
add esp, 4
cmp byte [ebp - 0x20], 1
jne 0x430680
lea ecx, [ebp - 0x24]
call fcn.00424690
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00565ea5
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.00562bc0
add esp, 4
lea eax, [edi - 0xc]
cmp edi, esi
mov edi, eax
je 0x430663
test edi, edi
je 0x43087b
mov eax, dword [edi]
test eax, eax
je 0x4306a5
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x430699
int3
test edi, edi
je 0x430a03
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 0x43070f
js 0x43089c
push eax
mov ebx, eax
call fcn.00562bc5
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.005670c0
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 0x4304c9
mov dword [ebp - 0x84], edx
mov eax, edi
mov dword [ebp - 0x88], ecx
test ecx, ecx
je 0x430938
xor edx, edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
mov dword [ecx + 8], edx
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
xor edx, edx
mov dword [eax + 8], edx
mov dword [eax + 4], edx
mov dword [eax], edx
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 - 0x84]
mov edx, dword [ebp - 0x74]
jne 0x430738
mov ecx, dword [ebp - 0x88]
test edi, edi
je 0x43093b
mov eax, dword [edi]
test eax, eax
je 0x4307be
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x43093e
mov dword [edi + 4], eax
push eax
call fcn.00562bc0
add esp, 4
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x88]
add edi, 0x18
cmp edi, dword [ebp - 0x84]
jne 0x43078b
mov edi, dword [ebp - 0x1c]
jmp 0x430250
test eax, eax
je 0x430b41
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 0x43082d
pcmpeqd xmm0, xmm0
lea esi, [ebp - 0x64]
movdqu xmmword [esi], xmm0
mov ecx, ebx
push esi
call fcn.00431000
mov al, byte [esi + 0xc]
cmp al, 1
jne 0x430833
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x4307d1
lea ecx, [ebp - 0x3c]
push esi
call fcn.00430c40
mov dword [ebp - 0x38], eax
mov al, byte [ebp - 0x58]
test al, 1
mov esi, dword [ebp - 0x78]
je 0x42fe04
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x42fe04
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430b3e
mov dword [ebp - 0x60], eax
push eax
call fcn.00562bc0
add esp, 4
jmp 0x42fe04
lea ecx, [ebp - 0x1c]
call fcn.0058fdd0
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
jmp 0x430584
mov ecx, edi
call fcn.0058fdd0
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x42ff92
int3
int3
int3
lea ecx, [ebp - 0x70]
call fcn.0058fdd0
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x4303a2
int3
int3
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
jmp 0x4305f6
push ebx
call fcn.00562bc0
add esp, 4
jmp 0x4300bf
int3
int3
int3
call fcn.00424690
mov byte [esi + 4], 0
jmp 0x42fe6d
lea ecx, [ebp - 0x64]
call fcn.0058fdd0
int3
xor eax, eax
jmp 0x4301f3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
test edi, edi
je 0x430b4a
xor eax, eax
mov ecx, edi
push eax
push eax
push 3
push esi
call fcn.0045d000
add edi, 0x18
mov esi, dword [ebp - 0x78]
jmp 0x4300bf
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 0x4309c8
test esi, esi
je 0x430b44
sub esp, 0x10
movdqa xmm0, xmmword [0x63b9d0]
movdqu xmmword [esp], xmm0
mov ecx, esi
call fcn.0045d070
add esi, 0x18
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x78]
jmp 0x4300eb
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.00604d00
add esp, 0xc
mov esi, eax
jmp 0x4309bd
lea esi, [ebp - 0x64]
mov ecx, esi
push eax
call fcn.005556f0
push dword [esi]
mov esi, dword [ebp - 0x78]
call fcn.00562bc0
add esp, 4
jmp 0x42fe89
int3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
mov esi, dword [ebp - 0x78]
je 0x4300c2
xor eax, eax
mov ecx, dword [ebp + 8]
mov byte [ecx], al
mov byte [ecx + 4], al
cmp byte [ebp - 0x58], 1
jne 0x430584
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x430584
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430b47
mov dword [ebp - 0x60], eax
push eax
call fcn.00562bc0
add esp, 4
jmp 0x430584
int3
int3
cmp byte [esi + 0x35], 1
je 0x42fe18
lea esi, [ebp - 0x64]
mov ecx, ebx
push 0xf01ff
push esi
call fcn.005be990
lea ecx, [ebp - 0x24]
push esi
call fcn.00437310
cmp byte [esi + 4], 1
jne 0x430a91
lea ecx, [ebp - 0x64]
call fcn.00424690
mov esi, dword [ebp - 0x78]
jmp 0x42fe89
test eax, eax
je 0x430b4d
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 0x42fc9c
test eax, eax
je 0x430941
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 0x430295
test eax, eax
je 0x430b50
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 0x42f9a3
int3
int3
int3
int3
int3
int3
int3