Function at 0x41aa70
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.00414e40
mov dword [ebp - 0x64], eax
add ecx, 0xc
push eax
push ecx
push edx
call fcn.00414d30
add esp, 0xc
cmp byte [esi + 0x44], 0
mov dword [ebp - 0x78], esi
jne 0x41aaf3
cmp byte [esi + 0x37], 0
je 0x41ace8
mov edx, dword [ebx]
lea esi, [ebp - 0x64]
mov ecx, esi
push 2
call fcn.0041c240
add esp, 4
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x7c], eax
cmp edi, eax
jne 0x41ac20
jmp 0x41ac90
lea edi, [ebp - 0x64]
mov ecx, ebx
push edi
call fcn.004145b0
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 0x41ab3b
js 0x41b997
push ebx
call fcn.00564ea5
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.00569390
add esp, 0xc
mov dword [ebp - 0x18], edi
test esi, esi
je 0x41ab57
mov eax, dword [ebp - 0x74]
dec eax
cmp ebx, eax
ja 0x41bb86
mov dword [ebp - 0x60], esi
push esi
call fcn.00564ea0
add esp, 4
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jb 0x41bc37
lea edi, [ebp - 0x1c]
lea esi, [ebp - 0x30]
mov ecx, esi
push edi
call fcn.0041bd60
mov ecx, dword [edi]
mov dword [esi + 4], eax
test ecx, ecx
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
je 0x41aac3
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x41bb83
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00564ea0
add esp, 4
jmp 0x41aac3
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 0x41abe4
js 0x41b997
push esi
call fcn.00564ea5
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.00569390
add esp, 0xc
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jae 0x41ac53
test eax, eax
mov edi, dword [ebp - 0x74]
je 0x41b9b1
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 0x41ac8a
mov eax, dword [edi + 0xc]
cmp eax, 0xbfffffff
ja 0x41ac18
and eax, 0x20
jne 0x41ac18
mov eax, dword [ebp - 0x78]
mov ebx, dword [eax + 0x38]
mov esi, dword [eax + 0x3c]
cmp ebx, esi
je 0x41aba5
push dword [edi]
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_EqualSid]
test eax, eax
jne 0x41ac18
add ebx, 0xc
jmp 0x41ac38
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x1c]
push eax
call fcn.0041bd60
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
test ecx, ecx
mov edi, dword [ebp - 0x74]
je 0x41ac18
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x41b9ba
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00564ea0
add esp, 4
jmp 0x41ac18
mov edi, dword [ebp - 0x64]
mov ebx, dword [ebp + 0xc]
test edi, edi
je 0x41ace5
mov esi, dword [ebp - 0x60]
mov eax, edi
cmp esi, edi
je 0x41acd9
add esi, 0xfffffff0
jmp 0x41acb7
mov dword [esi + 4], eax
push eax
call fcn.00564ea0
add esp, 4
lea eax, [esi - 0x10]
cmp esi, edi
mov esi, eax
je 0x41acd6
test esi, esi
je 0x41b9a2
mov eax, dword [esi]
test eax, eax
je 0x41acae
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x41aca2
jmp 0x41b9b4
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], edi
push eax
call fcn.00564ea0
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.00414e40
mov dword [ebp - 0x64], eax
push eax
push esi
push ecx
call fcn.00414d30
add esp, 0xc
cmp byte [esi + 0x46], 0
je 0x41adbc
lea edi, [ebp - 0x64]
mov ecx, ebx
push edi
call fcn.004145b0
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 0x41ad5b
js 0x41b997
push ebx
call fcn.00564ea5
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.00569390
add esp, 0xc
mov dword [ebp - 0x18], edi
test esi, esi
je 0x41ad77
mov eax, dword [ebp - 0x74]
dec eax
cmp ebx, eax
ja 0x41baa4
mov dword [ebp - 0x60], esi
push esi
call fcn.00564ea0
add esp, 4
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x41bb89
lea edi, [ebp - 0x1c]
lea esi, [ebp - 0x3c]
mov ecx, esi
push edi
call fcn.0041bd60
mov ecx, dword [edi]
mov dword [esi + 4], eax
test ecx, ecx
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
je 0x41adbc
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x41baa1
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00564ea0
add esp, 4
cmp byte [esi + 0x47], 0
je 0x41af1a
mov edx, dword [ebx]
lea esi, [ebp - 0x64]
mov ecx, esi
push 2
call fcn.0041c240
add esp, 4
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x7c], eax
cmp edi, eax
jne 0x41ae1d
jmp 0x41aea9
test eax, eax
je 0x41b9ab
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 0x41aea6
test byte [edi + 0xc], 0x20
jne 0x41ae11
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 0x41ae63
js 0x41b997
push esi
call fcn.00564ea5
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.00569390
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x41ade8
lea ecx, [ebp - 0x3c]
lea eax, [ebp - 0x1c]
push eax
call fcn.0041bd60
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
test ecx, ecx
je 0x41ae11
mov eax, dword [ebp - 0x18]
mov edx, eax
sub edx, ecx
dec eax
cmp edx, eax
ja 0x41b9d0
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00564ea0
add esp, 4
jmp 0x41ae11
mov edi, dword [ebp - 0x64]
test edi, edi
je 0x41af14
mov esi, dword [ebp - 0x60]
mov eax, edi
cmp esi, edi
je 0x41af08
add esi, 0xfffffff0
jmp 0x41aed0
mov dword [esi + 4], eax
push eax
call fcn.00564ea0
add esp, 4
lea eax, [esi - 0x10]
cmp esi, edi
mov esi, eax
je 0x41af05
test esi, esi
je 0x41b9a5
mov eax, dword [esi]
test eax, eax
je 0x41aec7
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x41aebb
jmp 0x41b9b7
test al, al
je 0x41af96
lea ecx, [ebp - 0x24]
push edi
call fcn.00435220
jmp 0x41af88
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], edi
push eax
call fcn.00564ea0
add esp, 4
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp + 0xc]
cmp byte [esi + 0x45], 0
jne 0x41b939
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x2c]
jne 0x41af38
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x38]
je 0x41bbbd
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.0041c570
mov al, byte [ebp - 0x20]
cmp al, byte [edi + 4]
je 0x41aeef
lea esi, [ebp - 0x24]
mov ecx, esi
test al, al
jne 0x41ba39
push edi
call fcn.0041bc80
mov byte [esi + 4], 1
mov esi, dword [ebp - 0x78]
cmp byte [ebp - 0x18], 0
je 0x41af96
lea ecx, [ebp - 0x1c]
call fcn.00420240
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x41bb10
mov ebx, dword [ebp + 8]
cmp byte [ebp - 0x20], 0
je 0x41ba16
cmp byte [esi + 0x35], 0
je 0x41afeb
cmp byte [esi + 0x36], 0
je 0x41afeb
lea ecx, [ebp - 0x24]
call fcn.0041c4a0
test al, al
je 0x41ba16
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 0x41afff
jmp 0x41ba95
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.0041c050
cmp byte [esi + 4], 0
je 0x41b9bd
mov eax, dword [ebp - 0x78]
cmp byte [eax + 0x34], 0
je 0x41baa7
pcmpeqd xmm0, xmm0
movdqu xmmword [ebp - 0x64], xmm0
cmp byte [ebp - 0x20], 0
je 0x41b9d9
lea esi, [ebp - 0x64]
lea ecx, [ebp - 0x24]
push esi
call fcn.0041c120
cmp byte [esi + 0xc], 0
je 0x41bb30
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp edi, eax
jb 0x41ba77
mov edx, dword [ebp - 0x1c]
sub edi, edx
sar edi, 3
imul edi, edi, 0xaaaaaaab
lea ecx, [edi + 1]
cmp ecx, 0xaaaaaab
jae 0x41b9dc
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 0x41b9df
cmp eax, 0xaaaaaab
jae 0x41b9e6
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
call fcn.00564ea5
add esp, 4
lea edi, [edi + edi*2]
shl edi, 3
mov dword [ebp - 0x7c], eax
add edi, eax
je 0x41b9e9
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 0x41b110
mov dword [ebp - 0x80], ecx
js 0x41b9c9
push ebx
call fcn.00564ea5
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.00569390
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 0x41b1c3
mov dword [ebp - 0x84], esi
xor eax, eax
mov ecx, ebx
test edx, edx
je 0x41ba6e
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 0x41b13d
mov ecx, dword [ebp - 0x84]
test ebx, ebx
je 0x41ba71
mov eax, dword [ebx]
test eax, eax
je 0x41b1b9
mov ecx, dword [ebx + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x41ba74
mov dword [ebx + 4], eax
push eax
call fcn.00564ea0
add esp, 4
mov ecx, dword [ebp - 0x84]
add ebx, 0x18
cmp ebx, ecx
jne 0x41b189
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 0x41ba22
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x18], edi
cmp byte [ebp - 0x58], 0
je 0x41b215
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x41b215
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x41ba30
mov dword [ebp - 0x60], eax
push eax
call fcn.00564ea0
add esp, 4
mov eax, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp eax, esi
je 0x41b3d9
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 0x41b2a0
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x84], esi
js 0x41ba47
push ebx
call fcn.00564ea5
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.00569390
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 0x41bbf6
mov edx, dword [ebp - 0x1c]
sub eax, edx
sar eax, 3
imul esi, eax, 0xaaaaaaab
lea ebx, [esi + 1]
cmp ebx, 0xaaaaaab
jae 0x41ba4f
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 0x41ba52
cmp ebx, 0xaaaaaab
jae 0x41ba59
lea eax, [ebx*8]
lea eax, [eax + eax*2]
push eax
call fcn.00564ea5
add esp, 4
lea esi, [esi + esi*2]
shl esi, 3
mov dword [ebp - 0x74], eax
add esi, eax
je 0x41ba5c
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 0x41b85b
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 0x41b3a5
push ecx
call fcn.00564ea0
add esp, 4
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x18], esi
test eax, eax
mov esi, dword [ebp - 0x80]
je 0x41b3cb
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x41ba5f
push eax
call fcn.00564ea0
add esp, 4
mov eax, dword [ebp - 0x7c]
add eax, 0x18
cmp eax, esi
jne 0x41b226
cmp byte [ebp - 0x20], 0
je 0x41b9ec
lea esi, [ebp - 0x64]
lea ecx, [ebp - 0x24]
push esi
call fcn.004145b0
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 0x41b442
mov dword [ebp - 0x7c], ecx
js 0x41b9ef
push esi
call fcn.00564ea5
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.00569390
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 0x41b461
mov eax, dword [ebp - 0x80]
dec eax
cmp esi, eax
ja 0x41ba33
mov dword [ebp - 0x60], ecx
push ecx
call fcn.00564ea0
add esp, 4
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp edi, eax
mov dword [ebp - 0x7c], ebx
jb 0x41b7fc
mov edx, dword [ebp - 0x1c]
sub edi, edx
sar edi, 3
imul esi, edi, 0xaaaaaaab
lea ecx, [esi + 1]
cmp ecx, 0xaaaaaab
jae 0x41ba06
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 0x41ba09
cmp eax, 0xaaaaaab
jae 0x41ba10
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
call fcn.00564ea5
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 0x41ba13
xor ecx, ecx
mov dword [edi], ecx
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
sub eax, ebx
je 0x41b528
js 0x41b9c9
push eax
mov ebx, eax
call fcn.00564ea5
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.00569390
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 0x41b5cd
mov ecx, ebx
mov dword [ebp - 0x74], edx
test edx, edx
je 0x41ba98
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 0x41b54d
mov edx, dword [ebp - 0x74]
test ebx, ebx
je 0x41ba9b
mov eax, dword [ebx]
test eax, eax
je 0x41b5c3
mov ecx, dword [ebx + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x41ba9e
mov dword [ebx + 4], eax
push eax
call fcn.00564ea0
add esp, 4
mov edx, dword [ebp - 0x74]
add ebx, 0x18
cmp ebx, esi
jne 0x41b596
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 0x41b5f8
push esi
call fcn.00564ea0
add esp, 4
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x41b61e
mov ecx, dword [ebp - 0x6c]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x41ba36
push eax
call fcn.00564ea0
add esp, 4
cmp byte [ebp - 0x40], 0
je 0x41b9f7
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x44]
push eax
call fcn.00432a40
test al, al
je 0x41b9bd
cmp byte [ebp - 0x20], 0
je 0x41b9fa
cmp byte [ebp - 0x40], 0
je 0x41b9fd
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 0x41b9bd
cmp byte [esi + 0x30], 0
je 0x41b692
cmp byte [ebp - 0x20], 0
je 0x41ba00
lea ecx, [ebp - 0x24]
push dword [esi + 0x2c]
call fcn.0041bef0
test al, al
je 0x41b9bd
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
cmp byte [ebp - 0x20], al
je 0x41b6b5
test ebx, ebx
je 0x41ba03
mov ecx, ebx
lea eax, [ebp - 0x24]
push eax
call fcn.0041bc80
mov byte [ebx + 4], 1
cmp byte [ebp - 0x40], 0
je 0x41b6d2
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], 0
test eax, eax
je 0x41b6d2
push eax
call fcn.005666bd
add esp, 4
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x41b727
mov edi, dword [ebp - 0x18]
mov eax, esi
cmp edi, esi
je 0x41b71b
add edi, 0xffffffe8
test edi, edi
je 0x41b9d3
mov eax, dword [edi]
test eax, eax
je 0x41b70f
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x41b9d6
mov dword [edi + 4], eax
push eax
call fcn.00564ea0
add esp, 4
lea eax, [edi - 0x18]
cmp edi, esi
mov edi, eax
jne 0x41b6e5
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], esi
push eax
call fcn.00564ea0
add esp, 4
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x41b77f
mov edi, dword [ebp - 0x38]
mov eax, esi
cmp edi, esi
je 0x41b773
add edi, 0xfffffff4
jmp 0x41b751
mov dword [edi + 4], eax
push eax
call fcn.00564ea0
add esp, 4
lea eax, [edi - 0xc]
cmp edi, esi
mov edi, eax
je 0x41b770
test edi, edi
je 0x41b99f
mov eax, dword [edi]
test eax, eax
je 0x41b748
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x41b73c
jmp 0x41b9ae
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], esi
push eax
call fcn.00564ea0
add esp, 4
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x41b7a3
mov edi, dword [ebp - 0x2c]
mov eax, esi
cmp edi, esi
je 0x41b797
add edi, 0xfffffff4
jmp 0x41b7df
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], esi
push eax
call fcn.00564ea0
add esp, 4
cmp byte [ebp - 0x20], 0
je 0x41b7b1
lea ecx, [ebp - 0x24]
call fcn.00420240
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00568175
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.00564ea0
add esp, 4
lea eax, [edi - 0xc]
cmp edi, esi
mov edi, eax
je 0x41b794
test edi, edi
je 0x41b9a8
mov eax, dword [edi]
test eax, eax
je 0x41b7d6
mov ecx, dword [edi + 4]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
jbe 0x41b7ca
int3
test edi, edi
je 0x41bb2d
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 0x41b840
js 0x41b9c9
push eax
mov ebx, eax
call fcn.00564ea5
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.00569390
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 0x41b5fb
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x8c], edi
mov eax, edi
mov ecx, edx
test ecx, ecx
je 0x41ba62
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 0x41b86b
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x8c]
test edx, edx
je 0x41ba65
mov eax, dword [edx]
test eax, eax
je 0x41b8f9
mov ecx, dword [edx + 4]
mov edi, edx
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x41ba68
mov dword [edi + 4], eax
push eax
call fcn.00564ea0
add esp, 4
mov edx, edi
mov edi, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x88]
add edx, 0x18
cmp edx, ecx
jne 0x41b8c2
mov ecx, dword [ebp - 0x1c]
jmp 0x41b380
test eax, eax
je 0x41bc6a
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 0x41b963
pcmpeqd xmm0, xmm0
lea esi, [ebp - 0x64]
movdqu xmmword [esi], xmm0
mov ecx, ebx
push esi
call fcn.0041c120
cmp byte [esi + 0xc], 0
je 0x41b98f
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jb 0x41b908
lea ecx, [ebp - 0x3c]
push esi
call fcn.0041bd60
mov dword [ebp - 0x38], eax
cmp byte [ebp - 0x58], 0
je 0x41b98f
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x41b98f
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x41bc67
mov dword [ebp - 0x60], eax
push eax
call fcn.00564ea0
add esp, 4
mov esi, dword [ebp - 0x78]
jmp 0x41af24
lea ecx, [ebp - 0x1c]
call fcn.00591ed0
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
jmp 0x41b6b5
mov ecx, edi
call fcn.00591ed0
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x41b0bf
int3
int3
int3
lea ecx, [ebp - 0x70]
call fcn.00591ed0
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x41b4d8
int3
int3
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 4], al
jmp 0x41b727
push esi
call fcn.00564ea0
add esp, 4
jmp 0x41b1e6
int3
int3
int3
call fcn.00420240
mov byte [esi + 4], 0
jmp 0x41af85
lea ecx, [ebp - 0x64]
call fcn.00591ed0
int3
xor eax, eax
jmp 0x41b31d
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
test edi, edi
je 0x41bc73
xor eax, eax
mov ecx, edi
push eax
push eax
push 3
push esi
call fcn.00457ee0
add edi, 0x18
jmp 0x41b1e6
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 0x41baf2
test esi, esi
je 0x41bc6d
sub esp, 0x10
movdqa xmm0, xmmword [0x63be50]
movdqu xmmword [esp], xmm0
mov ecx, esi
call fcn.00457f50
add esi, 0x18
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x78]
jmp 0x41b215
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.00604f50
add esp, 0xc
mov esi, eax
jmp 0x41bae7
lea esi, [ebp - 0x64]
mov ecx, esi
push eax
call fcn.0054c200
push dword [esi]
mov esi, dword [ebp - 0x78]
call fcn.00564ea0
add esp, 4
jmp 0x41afa1
int3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
mov esi, dword [ebp - 0x78]
je 0x41b1ec
xor eax, eax
mov ecx, dword [ebp + 8]
mov byte [ecx], al
mov byte [ecx + 4], al
cmp byte [ebp - 0x58], al
je 0x41b6b5
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x41b6b5
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x41bc70
mov dword [ebp - 0x60], eax
push eax
call fcn.00564ea0
add esp, 4
jmp 0x41b6b5
int3
int3
test eax, eax
je 0x41bc76
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 0x41adbc
cmp byte [esi + 0x35], 0
jne 0x41af38
lea esi, [ebp - 0x64]
mov ecx, ebx
push 0xf01ff
push esi
call fcn.005c0f70
lea ecx, [ebp - 0x24]
push esi
call fcn.004351d0
cmp byte [esi + 4], 0
je 0x41bbee
lea ecx, [ebp - 0x64]
call fcn.00420240
mov esi, dword [ebp - 0x78]
jmp 0x41afa1
test eax, eax
je 0x41ba6b
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 0x41b3cb
test eax, eax
je 0x41bc79
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 0x41aac3
int3
int3
int3
int3
int3
int3
int3