Function at 0x42fc30
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 [0x646040]
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.0041feb0
mov dword [ebp - 0x64], eax
add ecx, 0xc
push eax
push ecx
push edx
call fcn.0041fda0
add esp, 0xc
cmp byte [esi + 0x44], 1
mov dword [ebp - 0x78], esi
je 0x42fcb3
cmp byte [esi + 0x37], 1
jne 0x42fea8
mov edx, dword [ebx]
lea esi, [ebp - 0x64]
mov ecx, esi
push 2
call fcn.00431400
add esp, 4
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x7c], eax
cmp edi, eax
jne 0x42fde0
jmp 0x42fe50
lea edi, [ebp - 0x64]
mov ecx, ebx
push edi
call fcn.00592630
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 0x42fcfb
js 0x430b4a
push ebx
call fcn.00564055
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.00568550
add esp, 0xc
mov dword [ebp - 0x18], edi
test esi, esi
je 0x42fd17
mov eax, dword [ebp - 0x74]
dec eax
cmp ebx, eax
ja 0x430ce9
mov dword [ebp - 0x60], esi
push esi
call fcn.00564050
add esp, 4
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jb 0x430dee
lea edi, [ebp - 0x1c]
lea esi, [ebp - 0x30]
mov ecx, esi
push edi
call fcn.00430f20
mov ecx, dword [edi]
mov dword [esi + 4], eax
test ecx, ecx
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
je 0x42fc83
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x430ce6
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00564050
add esp, 4
jmp 0x42fc83
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 0x42fda4
js 0x430b4a
push esi
call fcn.00564055
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.00568550
add esp, 0xc
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jae 0x42fe13
test eax, eax
mov edi, dword [ebp - 0x74]
je 0x430b64
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 0x42fe4a
mov eax, dword [edi + 0xc]
cmp eax, 0xbfffffff
ja 0x42fdd8
and eax, 0x20
jne 0x42fdd8
mov eax, dword [ebp - 0x78]
mov ebx, dword [eax + 0x38]
mov esi, dword [eax + 0x3c]
cmp ebx, esi
je 0x42fd65
push dword [edi]
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_EqualSid]
test eax, eax
jne 0x42fdd8
add ebx, 0xc
jmp 0x42fdf8
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x1c]
push eax
call fcn.00430f20
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
test ecx, ecx
mov edi, dword [ebp - 0x74]
je 0x42fdd8
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x430b6d
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00564050
add esp, 4
jmp 0x42fdd8
mov edi, dword [ebp - 0x64]
mov ebx, dword [ebp + 0xc]
test edi, edi
je 0x42fea5
mov esi, dword [ebp - 0x60]
mov eax, edi
cmp esi, edi
je 0x42fe99
add esi, 0xfffffff0
jmp 0x42fe77
mov dword [esi + 4], eax
push eax
call fcn.00564050
add esp, 4
lea eax, [esi - 0x10]
cmp esi, edi
mov esi, eax
je 0x42fe96
test esi, esi
je 0x430b55
mov eax, dword [esi]
test eax, eax
je 0x42fe6e
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x42fe62
jmp 0x430b67
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], edi
push eax
call fcn.00564050
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.0041feb0
mov dword [ebp - 0x64], eax
push eax
push esi
push ecx
call fcn.0041fda0
add esp, 0xc
cmp byte [esi + 0x46], 1
jne 0x42ff7c
lea edi, [ebp - 0x64]
mov ecx, ebx
push edi
call fcn.00592630
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 0x42ff1b
js 0x430b4a
push ebx
call fcn.00564055
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.00568550
add esp, 0xc
mov dword [ebp - 0x18], edi
test esi, esi
je 0x42ff37
mov eax, dword [ebp - 0x74]
dec eax
cmp ebx, eax
ja 0x430c5a
mov dword [ebp - 0x60], esi
push esi
call fcn.00564050
add esp, 4
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x430d79
lea edi, [ebp - 0x1c]
lea esi, [ebp - 0x3c]
mov ecx, esi
push edi
call fcn.00430f20
mov ecx, dword [edi]
mov dword [esi + 4], eax
test ecx, ecx
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
je 0x42ff7c
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x430c57
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00564050
add esp, 4
cmp byte [esi + 0x47], 1
jne 0x4300da
mov edx, dword [ebx]
lea esi, [ebp - 0x64]
mov ecx, esi
push 2
call fcn.00431400
add esp, 4
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x7c], eax
cmp edi, eax
jne 0x42ffdd
jmp 0x430069
test eax, eax
je 0x430b5e
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 0x430066
test byte [edi + 0xc], 0x20
jne 0x42ffd1
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 0x430023
js 0x430b4a
push esi
call fcn.00564055
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.00568550
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x42ffa8
lea ecx, [ebp - 0x3c]
lea eax, [ebp - 0x1c]
push eax
call fcn.00430f20
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
test ecx, ecx
je 0x42ffd1
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x430b83
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00564050
add esp, 4
jmp 0x42ffd1
mov edi, dword [ebp - 0x64]
test edi, edi
je 0x4300d4
mov esi, dword [ebp - 0x60]
mov eax, edi
cmp esi, edi
je 0x4300c8
add esi, 0xfffffff0
jmp 0x430090
mov dword [esi + 4], eax
push eax
call fcn.00564050
add esp, 4
lea eax, [esi - 0x10]
cmp esi, edi
mov esi, eax
je 0x4300c5
test esi, esi
je 0x430b58
mov eax, dword [esi]
test eax, eax
je 0x430087
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x43007b
jmp 0x430b6a
test al, al
je 0x430150
lea ecx, [ebp - 0x24]
push edi
call fcn.00437a80
jmp 0x430150
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], edi
push eax
call fcn.00564050
add esp, 4
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
cmp byte [esi + 0x45], 1
je 0x430ae2
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x2c]
jne 0x4300f8
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x38]
je 0x430d40
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.00431730
mov al, byte [ebp - 0x20]
cmp al, byte [edi + 4]
je 0x4300af
lea esi, [ebp - 0x24]
mov ecx, esi
test al, al
jne 0x430bef
push edi
call fcn.00430e40
mov byte [esi + 4], 1
mov esi, dword [ebp - 0x78]
cmp byte [ebp - 0x18], 1
jne 0x43015e
lea ecx, [ebp - 0x1c]
call fcn.00424320
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x430cc6
mov ebx, dword [ebp + 8]
mov al, byte [ebp - 0x20]
test al, al
je 0x430bcc
cmp byte [esi + 0x35], 1
jne 0x430196
cmp byte [esi + 0x36], 1
jne 0x430196
lea ecx, [ebp - 0x24]
call fcn.00431660
test al, al
je 0x430bcc
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 0x430b8c
lea esi, [ebp - 0x44]
lea ecx, [ebp - 0x24]
push esi
call fcn.00431210
cmp byte [esi + 4], 0
je 0x430b70
mov eax, dword [ebp - 0x78]
cmp byte [eax + 0x34], 1
jne 0x430c5d
pcmpeqd xmm0, xmm0
movdqu xmmword [ebp - 0x64], xmm0
cmp byte [ebp - 0x20], 0
je 0x430b8f
lea esi, [ebp - 0x64]
lea ecx, [ebp - 0x24]
push esi
call fcn.004312e0
cmp byte [esi + 0xc], 1
jne 0x430cec
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp edi, eax
jb 0x430c2d
mov edx, dword [ebp - 0x1c]
sub edi, edx
sar edi, 3
imul edi, edi, 0xaaaaaaab
lea ecx, [edi + 1]
cmp ecx, 0xaaaaaab
jae 0x430b92
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 0x430b95
cmp eax, 0xaaaaaab
jae 0x430b9c
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
call fcn.00564055
add esp, 4
lea edi, [edi + edi*2]
shl edi, 3
mov dword [ebp - 0x7c], eax
add edi, eax
je 0x430b9f
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 0x4302c3
mov dword [ebp - 0x80], ecx
js 0x430b7c
push ebx
call fcn.00564055
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.00568550
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 0x43037f
mov dword [ebp - 0x80], ecx
xor eax, eax
mov ecx, ebx
mov dword [ebp - 0x84], edx
test edx, edx
je 0x430c24
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 0x4302f3
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
test ebx, ebx
je 0x430c27
mov eax, dword [ebx]
test eax, eax
je 0x430375
mov ecx, dword [ebx + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430c2a
mov dword [ebx + 4], eax
push eax
call fcn.00564050
add esp, 4
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
add ebx, 0x18
cmp ebx, ecx
jne 0x430342
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 0x430bd8
mov dword [ebp - 0x18], edi
cmp byte [ebp - 0x58], 1
jne 0x4303cb
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x4303cb
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430be6
mov dword [ebp - 0x60], eax
push eax
call fcn.00564050
add esp, 4
mov eax, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp eax, esi
je 0x430583
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 0x430456
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x84], esi
js 0x430bfd
push ebx
call fcn.00564055
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.00568550
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 0x430dad
mov edx, dword [ebp - 0x1c]
sub eax, edx
sar eax, 3
imul esi, eax, 0xaaaaaaab
lea ebx, [esi + 1]
cmp ebx, 0xaaaaaab
jae 0x430c05
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 0x430c08
cmp ebx, 0xaaaaaab
jae 0x430c0f
lea eax, [ebx*8]
lea eax, [eax + eax*2]
push eax
call fcn.00564055
add esp, 4
lea esi, [esi + esi*2]
shl esi, 3
mov dword [ebp - 0x74], eax
add esi, eax
je 0x430c12
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 0x430a0a
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 0x43054f
push edi
call fcn.00564050
add esp, 4
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x18], esi
test eax, eax
mov esi, dword [ebp - 0x80]
je 0x430575
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430c15
push eax
call fcn.00564050
add esp, 4
mov eax, dword [ebp - 0x7c]
add eax, 0x18
cmp eax, esi
jne 0x4303dc
cmp byte [ebp - 0x20], 0
je 0x430ba2
lea esi, [ebp - 0x64]
lea ecx, [ebp - 0x24]
push esi
call fcn.00592630
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 0x4305ec
mov dword [ebp - 0x7c], ecx
js 0x430ba5
push esi
call fcn.00564055
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.00568550
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 0x43060b
mov eax, dword [ebp - 0x80]
dec eax
cmp esi, eax
ja 0x430be9
mov dword [ebp - 0x60], ecx
push ecx
call fcn.00564050
add esp, 4
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp edi, eax
mov dword [ebp - 0x7c], ebx
jb 0x4309ab
mov edx, dword [ebp - 0x1c]
sub edi, edx
sar edi, 3
imul esi, edi, 0xaaaaaaab
lea ecx, [esi + 1]
cmp ecx, 0xaaaaaab
jae 0x430bbc
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 0x430bbf
cmp eax, 0xaaaaaab
jae 0x430bc6
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
call fcn.00564055
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 0x430bc9
xor ecx, ecx
mov dword [edi], ecx
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
sub eax, ebx
je 0x4306d2
js 0x430b7c
push eax
mov ebx, eax
call fcn.00564055
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.00568550
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 0x43077b
mov ecx, esi
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x7c], ebx
test edx, edx
je 0x430c4e
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 0x4306fa
mov edx, dword [ebp - 0x74]
test esi, esi
je 0x430c51
mov eax, dword [esi]
test eax, eax
je 0x430771
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430c54
mov dword [esi + 4], eax
push eax
call fcn.00564050
add esp, 4
mov edx, dword [ebp - 0x74]
add esi, 0x18
cmp esi, ebx
jne 0x430744
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 0x4307a6
push esi
call fcn.00564050
add esp, 4
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x4307cc
mov ecx, dword [ebp - 0x6c]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430bec
push eax
call fcn.00564050
add esp, 4
cmp byte [ebp - 0x40], 0
je 0x430bad
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x44]
push eax
call fcn.0042ae20
test al, al
je 0x430b70
cmp byte [ebp - 0x20], 0
je 0x430bb0
cmp byte [ebp - 0x40], 0
je 0x430bb3
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 0x430b70
cmp byte [esi + 0x30], 1
jne 0x430840
cmp byte [ebp - 0x20], 0
je 0x430bb6
lea ecx, [ebp - 0x24]
push dword [esi + 0x2c]
call fcn.004310b0
test al, al
je 0x430b70
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
cmp byte [ebp - 0x20], 1
jne 0x430864
test ebx, ebx
je 0x430bb9
mov ecx, ebx
lea eax, [ebp - 0x24]
push eax
call fcn.00430e40
mov byte [ebx + 4], 1
cmp byte [ebp - 0x40], 1
jne 0x430881
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], 0
test eax, eax
je 0x430881
push eax
call fcn.0056586d
add esp, 4
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x4308d6
mov edi, dword [ebp - 0x18]
mov eax, esi
cmp edi, esi
je 0x4308ca
add edi, 0xffffffe8
test edi, edi
je 0x430b86
mov eax, dword [edi]
test eax, eax
je 0x4308be
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430b89
mov dword [edi + 4], eax
push eax
call fcn.00564050
add esp, 4
lea eax, [edi - 0x18]
cmp edi, esi
mov edi, eax
jne 0x430894
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], esi
push eax
call fcn.00564050
add esp, 4
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x43092e
mov edi, dword [ebp - 0x38]
mov eax, esi
cmp edi, esi
je 0x430922
add edi, 0xfffffff4
jmp 0x430900
mov dword [edi + 4], eax
push eax
call fcn.00564050
add esp, 4
lea eax, [edi - 0xc]
cmp edi, esi
mov edi, eax
je 0x43091f
test edi, edi
je 0x430b52
mov eax, dword [edi]
test eax, eax
je 0x4308f7
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x4308eb
jmp 0x430b61
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], esi
push eax
call fcn.00564050
add esp, 4
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x430952
mov edi, dword [ebp - 0x2c]
mov eax, esi
cmp edi, esi
je 0x430946
add edi, 0xfffffff4
jmp 0x43098e
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], esi
push eax
call fcn.00564050
add esp, 4
cmp byte [ebp - 0x20], 1
jne 0x430960
lea ecx, [ebp - 0x24]
call fcn.00424320
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00567335
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.00564050
add esp, 4
lea eax, [edi - 0xc]
cmp edi, esi
mov edi, eax
je 0x430943
test edi, edi
je 0x430b5b
mov eax, dword [edi]
test eax, eax
je 0x430985
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x430979
int3
test edi, edi
je 0x430ce3
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 0x4309ef
js 0x430b7c
push eax
mov ebx, eax
call fcn.00564055
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.00568550
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 0x4307a9
mov dword [ebp - 0x84], edx
mov eax, edi
mov dword [ebp - 0x88], ecx
test ecx, ecx
je 0x430c18
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 0x430a18
mov ecx, dword [ebp - 0x88]
test edi, edi
je 0x430c1b
mov eax, dword [edi]
test eax, eax
je 0x430a9e
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430c1e
mov dword [edi + 4], eax
push eax
call fcn.00564050
add esp, 4
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x88]
add edi, 0x18
cmp edi, dword [ebp - 0x84]
jne 0x430a6b
mov edi, dword [ebp - 0x1c]
jmp 0x430530
test eax, eax
je 0x430e21
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 0x430b0d
pcmpeqd xmm0, xmm0
lea esi, [ebp - 0x64]
movdqu xmmword [esi], xmm0
mov ecx, ebx
push esi
call fcn.004312e0
mov al, byte [esi + 0xc]
cmp al, 1
jne 0x430b13
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x430ab1
lea ecx, [ebp - 0x3c]
push esi
call fcn.00430f20
mov dword [ebp - 0x38], eax
mov al, byte [ebp - 0x58]
test al, 1
mov esi, dword [ebp - 0x78]
je 0x4300e4
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x4300e4
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430e1e
mov dword [ebp - 0x60], eax
push eax
call fcn.00564050
add esp, 4
jmp 0x4300e4
lea ecx, [ebp - 0x1c]
call fcn.005912b0
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
jmp 0x430864
mov ecx, edi
call fcn.005912b0
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x430272
int3
int3
int3
lea ecx, [ebp - 0x70]
call fcn.005912b0
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x430682
int3
int3
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
jmp 0x4308d6
push ebx
call fcn.00564050
add esp, 4
jmp 0x43039f
int3
int3
int3
call fcn.00424320
mov byte [esi + 4], 0
jmp 0x43014d
lea ecx, [ebp - 0x64]
call fcn.005912b0
int3
xor eax, eax
jmp 0x4304d3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
test edi, edi
je 0x430e2a
xor eax, eax
mov ecx, edi
push eax
push eax
push 3
push esi
call fcn.0045bd50
add edi, 0x18
mov esi, dword [ebp - 0x78]
jmp 0x43039f
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 0x430ca8
test esi, esi
je 0x430e24
sub esp, 0x10
movdqa xmm0, xmmword [0x63d9d0]
movdqu xmmword [esp], xmm0
mov ecx, esi
call fcn.0045bdc0
add esi, 0x18
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x78]
jmp 0x4303cb
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.00606420
add esp, 0xc
mov esi, eax
jmp 0x430c9d
lea esi, [ebp - 0x64]
mov ecx, esi
push eax
call fcn.005565c0
push dword [esi]
mov esi, dword [ebp - 0x78]
call fcn.00564050
add esp, 4
jmp 0x430169
int3
int3
int3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
mov esi, dword [ebp - 0x78]
je 0x4303a2
xor eax, eax
mov ecx, dword [ebp + 8]
mov byte [ecx], al
mov byte [ecx + 4], al
cmp byte [ebp - 0x58], 1
jne 0x430864
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x430864
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x430e27
mov dword [ebp - 0x60], eax
push eax
call fcn.00564050
add esp, 4
jmp 0x430864
cmp byte [esi + 0x35], 1
je 0x4300f8
lea esi, [ebp - 0x64]
mov ecx, ebx
push 0xf01ff
push esi
call fcn.005c00f0
lea ecx, [ebp - 0x24]
push esi
call fcn.00437a30
cmp byte [esi + 4], 1
jne 0x430d71
lea ecx, [ebp - 0x64]
call fcn.00424320
mov esi, dword [ebp - 0x78]
jmp 0x430169
test eax, eax
je 0x430e2d
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 0x42ff7c
test eax, eax
je 0x430c21
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 0x430575
test eax, eax
je 0x430e30
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 0x42fc83
int3
int3
int3
int3
int3
int3
int3