Function at 0x430730
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.0041ff30
mov dword [ebp - 0x64], eax
add ecx, 0xc
push eax
push ecx
push edx
call fcn.0041fe20
add esp, 0xc
cmp byte [esi + 0x44], 1
mov dword [ebp - 0x78], esi
je 0x4307b3
cmp byte [esi + 0x37], 1
jne 0x4309a8
mov edx, dword [ebx]
lea esi, [ebp - 0x64]
mov ecx, esi
push 2
call fcn.00431f00
add esp, 4
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x7c], eax
cmp edi, eax
jne 0x4308e0
jmp 0x430950
lea edi, [ebp - 0x64]
mov ecx, ebx
push edi
call fcn.00590f00
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 0x4307fb
js 0x43164a
push ebx
call fcn.00562f65
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.00567460
add esp, 0xc
mov dword [ebp - 0x18], edi
test esi, esi
je 0x430817
mov eax, dword [ebp - 0x74]
dec eax
cmp ebx, eax
ja 0x43183d
mov dword [ebp - 0x60], esi
push esi
call fcn.00562f60
add esp, 4
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jb 0x4318ee
lea edi, [ebp - 0x1c]
lea esi, [ebp - 0x30]
mov ecx, esi
push edi
call fcn.00431a20
mov ecx, dword [edi]
mov dword [esi + 4], eax
test ecx, ecx
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
je 0x430783
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x43183a
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00562f60
add esp, 4
jmp 0x430783
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 0x4308a4
js 0x43164a
push esi
call fcn.00562f65
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.00567460
add esp, 0xc
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jae 0x430913
test eax, eax
mov edi, dword [ebp - 0x74]
je 0x431664
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 0x43094a
mov eax, dword [edi + 0xc]
cmp eax, 0xbfffffff
ja 0x4308d8
and eax, 0x20
jne 0x4308d8
mov eax, dword [ebp - 0x78]
mov ebx, dword [eax + 0x38]
mov esi, dword [eax + 0x3c]
cmp ebx, esi
je 0x430865
push dword [edi]
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_EqualSid]
test eax, eax
jne 0x4308d8
add ebx, 0xc
jmp 0x4308f8
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x1c]
push eax
call fcn.00431a20
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
test ecx, ecx
mov edi, dword [ebp - 0x74]
je 0x4308d8
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x43166d
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00562f60
add esp, 4
jmp 0x4308d8
mov edi, dword [ebp - 0x64]
mov ebx, dword [ebp + 0xc]
test edi, edi
je 0x4309a5
mov esi, dword [ebp - 0x60]
mov eax, edi
cmp esi, edi
je 0x430999
add esi, 0xfffffff0
jmp 0x430977
mov dword [esi + 4], eax
push eax
call fcn.00562f60
add esp, 4
lea eax, [esi - 0x10]
cmp esi, edi
mov esi, eax
je 0x430996
test esi, esi
je 0x431655
mov eax, dword [esi]
test eax, eax
je 0x43096e
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x430962
jmp 0x431667
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], edi
push eax
call fcn.00562f60
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.0041ff30
mov dword [ebp - 0x64], eax
push eax
push esi
push ecx
call fcn.0041fe20
add esp, 0xc
cmp byte [esi + 0x46], 1
jne 0x430a7c
lea edi, [ebp - 0x64]
mov ecx, ebx
push edi
call fcn.00590f00
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 0x430a1b
js 0x43164a
push ebx
call fcn.00562f65
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.00567460
add esp, 0xc
mov dword [ebp - 0x18], edi
test esi, esi
je 0x430a37
mov eax, dword [ebp - 0x74]
dec eax
cmp ebx, eax
ja 0x431757
mov dword [ebp - 0x60], esi
push esi
call fcn.00562f60
add esp, 4
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x431879
lea edi, [ebp - 0x1c]
lea esi, [ebp - 0x3c]
mov ecx, esi
push edi
call fcn.00431a20
mov ecx, dword [edi]
mov dword [esi + 4], eax
test ecx, ecx
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
je 0x430a7c
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x43175a
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00562f60
add esp, 4
cmp byte [esi + 0x47], 1
jne 0x430bda
mov edx, dword [ebx]
lea esi, [ebp - 0x64]
mov ecx, esi
push 2
call fcn.00431f00
add esp, 4
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x7c], eax
cmp edi, eax
jne 0x430add
jmp 0x430b69
test eax, eax
je 0x43165e
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 0x430b66
test byte [edi + 0xc], 0x20
jne 0x430ad1
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 0x430b23
js 0x43164a
push esi
call fcn.00562f65
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.00567460
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x430aa8
lea ecx, [ebp - 0x3c]
lea eax, [ebp - 0x1c]
push eax
call fcn.00431a20
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
test ecx, ecx
je 0x430ad1
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x431683
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00562f60
add esp, 4
jmp 0x430ad1
mov edi, dword [ebp - 0x64]
test edi, edi
je 0x430bd4
mov esi, dword [ebp - 0x60]
mov eax, edi
cmp esi, edi
je 0x430bc8
add esi, 0xfffffff0
jmp 0x430b90
mov dword [esi + 4], eax
push eax
call fcn.00562f60
add esp, 4
lea eax, [esi - 0x10]
cmp esi, edi
mov esi, eax
je 0x430bc5
test esi, esi
je 0x431658
mov eax, dword [esi]
test eax, eax
je 0x430b87
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x430b7b
jmp 0x43166a
test al, al
je 0x430c50
lea ecx, [ebp - 0x24]
push edi
call fcn.00438140
jmp 0x430c50
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], edi
push eax
call fcn.00562f60
add esp, 4
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
cmp byte [esi + 0x45], 1
je 0x4315e2
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x2c]
jne 0x430bf8
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x38]
je 0x431840
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.00432230
mov al, byte [ebp - 0x20]
cmp al, byte [edi + 4]
je 0x430baf
lea esi, [ebp - 0x24]
mov ecx, esi
test al, al
jne 0x4316ef
push edi
call fcn.00431940
mov byte [esi + 4], 1
mov esi, dword [ebp - 0x78]
cmp byte [ebp - 0x18], 1
jne 0x430c5e
lea ecx, [ebp - 0x1c]
call fcn.00425470
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x4317c6
mov ebx, dword [ebp + 8]
mov al, byte [ebp - 0x20]
test al, al
je 0x4316cc
cmp byte [esi + 0x35], 1
jne 0x430c96
cmp byte [esi + 0x36], 1
jne 0x430c96
lea ecx, [ebp - 0x24]
call fcn.00432160
test al, al
je 0x4316cc
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 0x43168c
lea esi, [ebp - 0x44]
lea ecx, [ebp - 0x24]
push esi
call fcn.00431d10
cmp byte [esi + 4], 0
je 0x431670
mov eax, dword [ebp - 0x78]
cmp byte [eax + 0x34], 1
jne 0x43175d
pcmpeqd xmm0, xmm0
movdqu xmmword [ebp - 0x64], xmm0
cmp byte [ebp - 0x20], 0
je 0x43168f
lea esi, [ebp - 0x64]
lea ecx, [ebp - 0x24]
push esi
call fcn.00431de0
cmp byte [esi + 0xc], 1
jne 0x4317e6
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp edi, eax
jb 0x43172d
mov edx, dword [ebp - 0x1c]
sub edi, edx
sar edi, 3
imul edi, edi, 0xaaaaaaab
lea ecx, [edi + 1]
cmp ecx, 0xaaaaaab
jae 0x431692
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 0x431695
cmp eax, 0xaaaaaab
jae 0x43169c
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
call fcn.00562f65
add esp, 4
lea edi, [edi + edi*2]
shl edi, 3
mov dword [ebp - 0x7c], eax
add edi, eax
je 0x43169f
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 0x430dc3
mov dword [ebp - 0x80], ecx
js 0x43167c
push ebx
call fcn.00562f65
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.00567460
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 0x430e7f
mov dword [ebp - 0x80], ecx
xor eax, eax
mov ecx, ebx
mov dword [ebp - 0x84], edx
test edx, edx
je 0x431724
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 0x430df3
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
test ebx, ebx
je 0x431727
mov eax, dword [ebx]
test eax, eax
je 0x430e75
mov ecx, dword [ebx + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x43172a
mov dword [ebx + 4], eax
push eax
call fcn.00562f60
add esp, 4
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
add ebx, 0x18
cmp ebx, ecx
jne 0x430e42
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 0x4316d8
mov dword [ebp - 0x18], edi
cmp byte [ebp - 0x58], 1
jne 0x430ecb
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x430ecb
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x4316e6
mov dword [ebp - 0x60], eax
push eax
call fcn.00562f60
add esp, 4
mov eax, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp eax, esi
je 0x431083
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 0x430f56
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x84], esi
js 0x4316fd
push ebx
call fcn.00562f65
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.00567460
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 0x4318ad
mov edx, dword [ebp - 0x1c]
sub eax, edx
sar eax, 3
imul esi, eax, 0xaaaaaaab
lea ebx, [esi + 1]
cmp ebx, 0xaaaaaab
jae 0x431705
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 0x431708
cmp ebx, 0xaaaaaab
jae 0x43170f
lea eax, [ebx*8]
lea eax, [eax + eax*2]
push eax
call fcn.00562f65
add esp, 4
lea esi, [esi + esi*2]
shl esi, 3
mov dword [ebp - 0x74], eax
add esi, eax
je 0x431712
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 0x43150a
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 0x43104f
push edi
call fcn.00562f60
add esp, 4
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x18], esi
test eax, eax
mov esi, dword [ebp - 0x80]
je 0x431075
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x431715
push eax
call fcn.00562f60
add esp, 4
mov eax, dword [ebp - 0x7c]
add eax, 0x18
cmp eax, esi
jne 0x430edc
cmp byte [ebp - 0x20], 0
je 0x4316a2
lea esi, [ebp - 0x64]
lea ecx, [ebp - 0x24]
push esi
call fcn.00590f00
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 0x4310ec
mov dword [ebp - 0x7c], ecx
js 0x4316a5
push esi
call fcn.00562f65
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.00567460
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 0x43110b
mov eax, dword [ebp - 0x80]
dec eax
cmp esi, eax
ja 0x4316e9
mov dword [ebp - 0x60], ecx
push ecx
call fcn.00562f60
add esp, 4
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp edi, eax
mov dword [ebp - 0x7c], ebx
jb 0x4314ab
mov edx, dword [ebp - 0x1c]
sub edi, edx
sar edi, 3
imul esi, edi, 0xaaaaaaab
lea ecx, [esi + 1]
cmp ecx, 0xaaaaaab
jae 0x4316bc
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 0x4316bf
cmp eax, 0xaaaaaab
jae 0x4316c6
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
call fcn.00562f65
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 0x4316c9
xor ecx, ecx
mov dword [edi], ecx
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
sub eax, ebx
je 0x4311d2
js 0x43167c
push eax
mov ebx, eax
call fcn.00562f65
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.00567460
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 0x43127b
mov ecx, esi
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x7c], ebx
test edx, edx
je 0x43174e
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 0x4311fa
mov edx, dword [ebp - 0x74]
test esi, esi
je 0x431751
mov eax, dword [esi]
test eax, eax
je 0x431271
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x431754
mov dword [esi + 4], eax
push eax
call fcn.00562f60
add esp, 4
mov edx, dword [ebp - 0x74]
add esi, 0x18
cmp esi, ebx
jne 0x431244
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 0x4312a6
push esi
call fcn.00562f60
add esp, 4
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x4312cc
mov ecx, dword [ebp - 0x6c]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x4316ec
push eax
call fcn.00562f60
add esp, 4
cmp byte [ebp - 0x40], 0
je 0x4316ad
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x44]
push eax
call fcn.0042bb50
test al, al
je 0x431670
cmp byte [ebp - 0x20], 0
je 0x4316b0
cmp byte [ebp - 0x40], 0
je 0x4316b3
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 0x431670
cmp byte [esi + 0x30], 1
jne 0x431340
cmp byte [ebp - 0x20], 0
je 0x4316b6
lea ecx, [ebp - 0x24]
push dword [esi + 0x2c]
call fcn.00431bb0
test al, al
je 0x431670
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
cmp byte [ebp - 0x20], 1
jne 0x431364
test ebx, ebx
je 0x4316b9
mov ecx, ebx
lea eax, [ebp - 0x24]
push eax
call fcn.00431940
mov byte [ebx + 4], 1
cmp byte [ebp - 0x40], 1
jne 0x431381
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], 0
test eax, eax
je 0x431381
push eax
call fcn.0056477d
add esp, 4
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x4313d6
mov edi, dword [ebp - 0x18]
mov eax, esi
cmp edi, esi
je 0x4313ca
add edi, 0xffffffe8
test edi, edi
je 0x431686
mov eax, dword [edi]
test eax, eax
je 0x4313be
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x431689
mov dword [edi + 4], eax
push eax
call fcn.00562f60
add esp, 4
lea eax, [edi - 0x18]
cmp edi, esi
mov edi, eax
jne 0x431394
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], esi
push eax
call fcn.00562f60
add esp, 4
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x43142e
mov edi, dword [ebp - 0x38]
mov eax, esi
cmp edi, esi
je 0x431422
add edi, 0xfffffff4
jmp 0x431400
mov dword [edi + 4], eax
push eax
call fcn.00562f60
add esp, 4
lea eax, [edi - 0xc]
cmp edi, esi
mov edi, eax
je 0x43141f
test edi, edi
je 0x431652
mov eax, dword [edi]
test eax, eax
je 0x4313f7
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x4313eb
jmp 0x431661
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], esi
push eax
call fcn.00562f60
add esp, 4
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x431452
mov edi, dword [ebp - 0x2c]
mov eax, esi
cmp edi, esi
je 0x431446
add edi, 0xfffffff4
jmp 0x43148e
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], esi
push eax
call fcn.00562f60
add esp, 4
cmp byte [ebp - 0x20], 1
jne 0x431460
lea ecx, [ebp - 0x24]
call fcn.00425470
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00566245
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.00562f60
add esp, 4
lea eax, [edi - 0xc]
cmp edi, esi
mov edi, eax
je 0x431443
test edi, edi
je 0x43165b
mov eax, dword [edi]
test eax, eax
je 0x431485
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x431479
int3
test edi, edi
je 0x4317e3
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 0x4314ef
js 0x43167c
push eax
mov ebx, eax
call fcn.00562f65
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.00567460
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 0x4312a9
mov dword [ebp - 0x84], edx
mov eax, edi
mov dword [ebp - 0x88], ecx
test ecx, ecx
je 0x431718
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 0x431518
mov ecx, dword [ebp - 0x88]
test edi, edi
je 0x43171b
mov eax, dword [edi]
test eax, eax
je 0x43159e
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x43171e
mov dword [edi + 4], eax
push eax
call fcn.00562f60
add esp, 4
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x88]
add edi, 0x18
cmp edi, dword [ebp - 0x84]
jne 0x43156b
mov edi, dword [ebp - 0x1c]
jmp 0x431030
test eax, eax
je 0x431921
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 0x43160d
pcmpeqd xmm0, xmm0
lea esi, [ebp - 0x64]
movdqu xmmword [esi], xmm0
mov ecx, ebx
push esi
call fcn.00431de0
mov al, byte [esi + 0xc]
cmp al, 1
jne 0x431613
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x4315b1
lea ecx, [ebp - 0x3c]
push esi
call fcn.00431a20
mov dword [ebp - 0x38], eax
mov al, byte [ebp - 0x58]
test al, 1
mov esi, dword [ebp - 0x78]
je 0x430be4
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x430be4
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x43191e
mov dword [ebp - 0x60], eax
push eax
call fcn.00562f60
add esp, 4
jmp 0x430be4
lea ecx, [ebp - 0x1c]
call fcn.00590170
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
jmp 0x431364
mov ecx, edi
call fcn.00590170
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x430d72
int3
int3
int3
lea ecx, [ebp - 0x70]
call fcn.00590170
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x431182
int3
int3
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
jmp 0x4313d6
push ebx
call fcn.00562f60
add esp, 4
jmp 0x430e9f
int3
int3
int3
call fcn.00425470
mov byte [esi + 4], 0
jmp 0x430c4d
lea ecx, [ebp - 0x64]
call fcn.00590170
int3
xor eax, eax
jmp 0x430fd3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
test edi, edi
je 0x43192a
xor eax, eax
mov ecx, edi
push eax
push eax
push 3
push esi
call fcn.0045cfe0
add edi, 0x18
mov esi, dword [ebp - 0x78]
jmp 0x430e9f
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 0x4317a8
test esi, esi
je 0x431924
sub esp, 0x10
movdqa xmm0, xmmword [0x63b9b0]
movdqu xmmword [esp], xmm0
mov ecx, esi
call fcn.0045d050
add esi, 0x18
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x78]
jmp 0x430ecb
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.00604ad0
add esp, 0xc
mov esi, eax
jmp 0x43179d
lea esi, [ebp - 0x64]
mov ecx, esi
push eax
call fcn.00555880
push dword [esi]
mov esi, dword [ebp - 0x78]
call fcn.00562f60
add esp, 4
jmp 0x430c69
int3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
mov esi, dword [ebp - 0x78]
je 0x430ea2
xor eax, eax
mov ecx, dword [ebp + 8]
mov byte [ecx], al
mov byte [ecx + 4], al
cmp byte [ebp - 0x58], 1
jne 0x431364
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x431364
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x431927
mov dword [ebp - 0x60], eax
push eax
call fcn.00562f60
add esp, 4
jmp 0x431364
int3
int3
cmp byte [esi + 0x35], 1
je 0x430bf8
lea esi, [ebp - 0x64]
mov ecx, ebx
push 0xf01ff
push esi
call fcn.005bed10
lea ecx, [ebp - 0x24]
push esi
call fcn.004380f0
cmp byte [esi + 4], 1
jne 0x431871
lea ecx, [ebp - 0x64]
call fcn.00425470
mov esi, dword [ebp - 0x78]
jmp 0x430c69
test eax, eax
je 0x43192d
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 0x430a7c
test eax, eax
je 0x431721
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 0x431075
test eax, eax
je 0x431930
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 0x430783
int3
int3
int3
int3
int3
int3
int3