Function at 0x4679c9
Capabilities:
Get token membership
Set environment variable

Disassembly:
push 0x220
mov eax, 0x51cc95
call fcn.004d8af2
mov esi, ecx
mov dword [ebp - 0x1d0], esi
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x190], edi
mov dword [ebp - 0x190], eax
xor eax, eax
mov dword [ebp - 0x1ac], edi
push eax
mov edx, 0x43f760
mov dword [ebp - 4], eax
mov ecx, ebx
call fcn.004102f4
mov edx, 0xffffd8ee
mov dword [esp], str.error
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x43f87c
mov ecx, ebx
call fcn.004102f4
push str.assert
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x466640
mov ecx, ebx
call fcn.004102f4
push str.weak_assert
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4679b2
mov ecx, ebx
call fcn.004102f4
push 0x549fd8
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4481d5
mov ecx, ebx
call fcn.004102f4
push 0x549fdc
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x44822c
mov ecx, ebx
call fcn.004102f4
push 0x549fe0
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x447877
mov ecx, ebx
call fcn.004102f4
push 0x549fe4
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4478e2
mov ecx, ebx
call fcn.004102f4
push str.exists
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x448027
mov ecx, ebx
call fcn.004102f4
add esp, 0x40
mov edx, 0xffffd8ee
mov ecx, ebx
push str.expand
call fcn.00410549
push 0
mov edx, 0x448132
mov ecx, ebx
call fcn.004102f4
push str.extended_length_path
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x44808f
mov ecx, ebx
call fcn.004102f4
push str.short_path
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x447bd6
mov ecx, ebx
call fcn.004102f4
push str.copy
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x447d50
mov ecx, ebx
call fcn.004102f4
push 0x54a024
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x447e6f
mov ecx, ebx
call fcn.004102f4
push str.move
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x466565
mov ecx, ebx
call fcn.004102f4
push str.stats
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x447838
mov ecx, ebx
call fcn.004102f4
push str.uuid
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x446a90
mov ecx, ebx
call fcn.004102f4
add esp, 0x40
mov edx, 0xffffd8ee
mov ecx, ebx
push str.readfile
call fcn.00410549
push 0
mov edx, 0x446b63
mov ecx, ebx
call fcn.004102f4
push str.writefile
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x446c0f
mov ecx, ebx
call fcn.004102f4
push str.writeini
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x447f6a
mov ecx, ebx
call fcn.004102f4
push str.sleep_
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4479a6
mov ecx, ebx
call fcn.004102f4
push str.accessible
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x448336
mov ecx, ebx
call fcn.004102f4
push str.resolve_link
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4482bc
mov ecx, ebx
call fcn.004102f4
push str.get_binary_type
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4485ce
mov ecx, ebx
call fcn.004102f4
push str.create_link
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x448432
mov ecx, ebx
call fcn.004102f4
add esp, 0x40
mov edx, 0xffffd8ee
mov ecx, ebx
push str.string_sha1
call fcn.00410549
push 0
mov edx, 0x4484f3
mov ecx, ebx
call fcn.004102f4
push str.file_sha1
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x44699d
mov ecx, ebx
call fcn.004102f4
push 0x54a0bc
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x44699d
mov ecx, ebx
call fcn.004102f4
push str.readreg
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x44698f
mov ecx, ebx
call fcn.004102f4
push str.regglob
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x447765
mov ecx, ebx
call fcn.004102f4
push str.delkey
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x446981
mov ecx, ebx
call fcn.004102f4
push str.fileglob
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x44749a
mov ecx, ebx
call fcn.004102f4
push str.writereg
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4a97a0
mov ecx, ebx
call fcn.004102f4
add esp, 0x40
mov edx, 0xffffd8ee
mov ecx, ebx
push str.compareversions
call fcn.00410549
push 0
mov edx, 0x4a991b
mov ecx, ebx
call fcn.004102f4
push str.versioncheck
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4a9a50
mov ecx, ebx
call fcn.004102f4
push str.is_accessible
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x447b64
mov ecx, ebx
call fcn.004102f4
push str.fileattr
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x446d48
mov ecx, ebx
call fcn.004102f4
push str.execmsi
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x447032
mov ecx, ebx
call fcn.004102f4
push str.readmsi
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x44736b
mov ecx, ebx
call fcn.004102f4
push str.readmsiprop
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x446e29
mov ecx, ebx
call fcn.004102f4
push str.writemsi
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x44723e
mov ecx, ebx
call fcn.004102f4
add esp, 0x40
mov edx, 0xffffd8ee
mov ecx, ebx
push str.writemsiprop
call fcn.00410549
push 0
mov edx, 0x43ff59
mov ecx, ebx
call fcn.004102f4
push str.to_json
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4402cc
mov ecx, ebx
call fcn.004102f4
push str.parse_json
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x440445
mov ecx, ebx
call fcn.004102f4
push str.to_utf16
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x440372
mov ecx, ebx
call fcn.004102f4
push str.from_utf16
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4a9af6
mov ecx, ebx
call fcn.004102f4
push 0x54a164
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4aaddd
mov ecx, ebx
call fcn.004102f4
push str.kill
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x467753
mov ecx, ebx
call fcn.004102f4
push str.get_current_pid
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4678b3
mov ecx, ebx
call fcn.004102f4
add esp, 0x40
mov edx, 0xffffd8ee
push str.get_active_sessions
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x467782
mov ecx, ebx
call fcn.004102f4
push str.get_session
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4663e8
mov ecx, ebx
call fcn.004102f4
push str.http_get
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x4663f6
mov ecx, ebx
call fcn.004102f4
push str.http_post
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x466404
mov ecx, ebx
call fcn.004102f4
push str.fetch
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x466498
mov ecx, ebx
call fcn.004102f4
push str.urlescape
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x448a25
mov ecx, ebx
call fcn.004102f4
push str.match_uninstall_keys
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x448a4e
mov ecx, ebx
call fcn.004102f4
push str.match_uninstall_keys32
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
push 0
mov edx, 0x448a39
mov ecx, ebx
call fcn.004102f4
add esp, 0x40
mov edx, 0xffffd8ee
mov ecx, ebx
push str.match_uninstall_keys64
call fcn.00410549
push 0
mov edx, 0x448a63
mov ecx, ebx
call fcn.004102f4
push str.get_auto_uninstall_command
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
add esp, 0xc
push dword [esi + 0x2c]
push str.InstallDir
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
jne 0x46819a
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x1671
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x1a4]
call fcn.00406620
lea eax, [ebp - 0x1a4]
mov byte [ebp - 4], 1
push eax
mov ecx, edi
call fcn.0040121b
mov ecx, dword [ebp - 0x19c]
add ecx, 0xfffffff0
call fcn.00407189
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
call fcn.00407189
mov eax, edi
jmp 0x468d0f
and dword [ebp - 0x194], 0
lea eax, [ebp - 0x70]
push 0x12
push 1
push 0x53d240
push eax
call fcn.004d6394
add esp, 0x10
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x6c]
push eax
push 0
call dword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
lea ecx, [ebp - 0x70]
mov esi, eax
call fcn.004d6486
test esi, esi
jne 0x468239
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x1675
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x1a4]
call fcn.00406620
lea eax, [ebp - 0x1a4]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0040121b
mov ecx, dword [ebp - 0x19c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp + 0x10]
lea ecx, [ecx - 0x10]
jmp 0x46818e
mov ecx, dword [ebx + 8]
xor eax, eax
cmp dword [ebp - 0x194], eax
mov esi, 0xffffd8ee
push 0x54a204
setne al
mov edx, esi
xor edi, edi
mov dword [ecx], eax
inc edi
mov dword [ecx + 8], edi
mov ecx, ebx
add dword [ebx + 8], 0x10
call fcn.00410549
call fcn.004013b8
mov ecx, dword [ebx + 8]
mov edx, esi
movzx eax, al
mov dword [esp], 0x54a218
mov dword [ecx], eax
mov dword [ecx + 8], edi
mov ecx, ebx
add dword [ebx + 8], 0x10
call fcn.00410549
mov edi, dword [ebp - 0x1d0]
mov esi, esp
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x110]
mov dword [ebp - 0x194], esi
mov ecx, dword [ecx + 4]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x194]
mov dword [esi], eax
call fcn.00429cff
pop ecx
mov byte [ebp - 4], 3
mov ecx, ebx
mov edx, dword [eax]
call fcn.0041029a
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x194]
lea ecx, [ecx - 0x10]
call fcn.00407189
push 0x54a21c
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
mov eax, dword [edi + 0xc]
mov esi, esp
mov ecx, dword [eax + 0x110]
mov dword [ebp - 0x194], esi
mov ecx, dword [ecx + 0x58]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x194]
mov dword [esi], eax
call fcn.00429cff
pop ecx
mov byte [ebp - 4], 4
mov ecx, ebx
mov edx, dword [eax]
call fcn.0041029a
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x194]
lea ecx, [ecx - 0x10]
call fcn.00407189
push 0x54a22c
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
mov eax, dword [edi + 0xc]
mov esi, esp
mov ecx, dword [eax + 0x110]
mov dword [ebp - 0x194], esi
mov ecx, dword [ecx + 0x48]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x194]
mov dword [esi], eax
call fcn.00429cff
pop ecx
mov byte [ebp - 4], 5
mov ecx, ebx
mov edx, dword [eax]
call fcn.0041029a
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x194]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov esi, 0xffffd8ee
mov ecx, ebx
push 0x54a240
mov edx, esi
call fcn.00410549
mov eax, dword [ebx + 8]
mov edx, esi
fldz
mov ecx, ebx
push 3
pop edi
fstp qword [eax]
mov dword [eax + 8], edi
add dword [ebx + 8], 0x10
mov dword [esp], str.last_exit_code
call fcn.00410549
mov esi, 0x53d80c
push esi
call fcn.004eefe0
push eax
mov edx, esi
mov ecx, ebx
call fcn.0041025e
mov esi, 0xffffd8ee
mov ecx, ebx
push str.last_error
mov edx, esi
call fcn.00410549
lea ecx, [ebp - 0x18c]
call fcn.0042b0ee
fild dword [ebp - 0x188]
mov eax, dword [ebx + 8]
mov edx, esi
push str.os_major
mov ecx, ebx
fstp qword [ebp - 0x198]
fld qword [ebp - 0x198]
fstp qword [eax]
mov dword [eax + 8], edi
add dword [ebx + 8], 0x10
call fcn.00410549
fild dword [ebp - 0x184]
mov eax, dword [ebx + 8]
mov edx, esi
push str.os_minor
mov ecx, ebx
fstp qword [ebp - 0x198]
fld qword [ebp - 0x198]
fstp qword [eax]
mov dword [eax + 8], edi
add dword [ebx + 8], 0x10
call fcn.00410549
movzx eax, word [ebp - 0x78]
mov edx, esi
mov dword [ebp - 0x194], eax
mov ecx, ebx
fild dword [ebp - 0x194]
mov eax, dword [ebx + 8]
push str.os_sp
fstp qword [ebp - 0x198]
fld qword [ebp - 0x198]
fstp qword [eax]
mov dword [eax + 8], edi
add dword [ebx + 8], 0x10
call fcn.00410549
movzx eax, word [ebp - 0x76]
mov dword [ebp - 0x194], eax
mov edx, esi
fild dword [ebp - 0x194]
mov eax, dword [ebx + 8]
mov ecx, ebx
push str.os_sp_minor
fstp qword [ebp - 0x198]
fld qword [ebp - 0x198]
fstp qword [eax]
mov dword [eax + 8], edi
add dword [ebx + 8], 0x10
call fcn.00410549
fild dword [ebp - 0x180]
mov eax, dword [ebx + 8]
mov edx, esi
push 0x54a28c
mov ecx, ebx
fstp qword [ebp - 0x198]
fld qword [ebp - 0x198]
fstp qword [eax]
mov dword [eax + 8], edi
add dword [ebx + 8], 0x10
call fcn.00410549
add esp, 0x20
lea ecx, [ebp - 0x18c]
push esp
call fcn.0042add3
lea ecx, [ebp - 0x1b0]
call fcn.00429cff
pop ecx
mov byte [ebp - 4], 6
mov ecx, ebx
mov edx, dword [eax]
call fcn.0041029a
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x1b0]
lea ecx, [ecx - 0x10]
call fcn.00407189
push str.os_product_type
mov edx, esi
mov ecx, ebx
call fcn.00410549
pop ecx
lea ecx, [ebp - 0x1c0]
call fcn.0040687a
lea ecx, [ebp - 0x1bc]
call fcn.0040687a
lea edx, [ebp - 0x1c0]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1dc]
call fcn.0043b840
mov byte [ebp - 4], 8
cmp dword [ebp - 0x1dc], 0
jge 0x468600
cmp dword [ebp - 0x1d8], 0
mov eax, 0x169e
cmovne eax, dword [ebp - 0x1d8]
push eax
push dword [ebp - 0x1dc]
push ecx
mov esi, esp
mov dword [ebp - 0x190], esi
mov edi, dword [ebp - 0x1d4]
lea ecx, [edi - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x1a4]
mov dword [esi], eax
call fcn.00406620
mov ecx, dword [ebp - 0x1ac]
lea eax, [ebp - 0x1a4]
push eax
mov byte [ebp - 4], 9
call fcn.0040121b
mov ecx, dword [ebp - 0x19c]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [edi - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x1c0]
call fcn.00407c33
mov ecx, dword [ebp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov eax, dword [ebp - 0x1ac]
jmp 0x468d0f
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1d4]
add ecx, 0xfffffff0
call fcn.00407189
push ecx
mov esi, esp
mov dword [ebp - 0x1b0], esi
mov ecx, dword [ebp - 0x1c0]
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x1b4]
mov dword [esi], eax
call fcn.00429cff
pop ecx
mov byte [ebp - 4], 0xa
mov ecx, ebx
mov edx, dword [eax]
call fcn.0041029a
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1b4]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov edi, 0xffffd8ee
mov ecx, ebx
push str.os_language
mov edx, edi
call fcn.00410549
mov esi, esp
mov dword [ebp - 0x1b4], esi
mov ecx, dword [ebp - 0x1bc]
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x1b8]
mov dword [esi], eax
call fcn.00429cff
pop ecx
mov byte [ebp - 4], 0xb
mov ecx, ebx
mov edx, dword [eax]
call fcn.0041029a
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1b8]
lea ecx, [ecx - 0x10]
call fcn.00407189
push str.os_country
mov edx, edi
mov ecx, ebx
call fcn.00410549
pop ecx
lea ecx, [ebp - 0x1c0]
call fcn.00407c33
lea ecx, [ebp - 0x1cc]
call fcn.0040687a
lea edx, [ebp - 0x1cc]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x220]
call fcn.004366f2
mov ecx, dword [ebp - 0x218]
add ecx, 0xfffffff0
call fcn.00407189
push ecx
mov esi, esp
mov dword [ebp - 0x1b8], esi
mov edi, dword [ebp - 0x1cc]
lea ecx, [edi - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x204]
mov dword [esi], eax
call fcn.00429cff
pop ecx
mov byte [ebp - 4], 0xd
mov ecx, ebx
mov edx, dword [eax]
call fcn.0041029a
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x204]
lea ecx, [ecx - 0x10]
call fcn.00407189
push str.machine_id
mov edx, 0xffffd8ee
mov ecx, ebx
call fcn.00410549
pop ecx
lea ecx, [edi - 0x10]
mov byte [ebp - 4], 0
call fcn.00407189
push 0
mov ecx, ebx
call fcn.00410453
mov esi, str.params
mov edx, 0xffffd8ee
push esi
mov ecx, ebx
call fcn.00410549
mov edi, dword [ebp - 0x190]
lea ecx, [ebp - 0x1e8]
push esi
mov edx, ebx
lea eax, [edi + 0xb8]
push eax
call fcn.004aaf86
add esp, 0x10
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x1e8], 0
jge 0x468817
cmp dword [ebp - 0x1e4], 0
mov eax, 0x16b0
cmovne eax, dword [ebp - 0x1e4]
push eax
push dword [ebp - 0x1e8]
push ecx
mov esi, esp
mov dword [ebp - 0x190], esi
mov edi, dword [ebp - 0x1e0]
lea ecx, [edi - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x1a4]
mov dword [esi], eax
call fcn.00406620
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x1ac]
lea eax, [ebp - 0x1a4]
push eax
call fcn.0040121b
mov ecx, dword [ebp - 0x19c]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [edi - 0x10]
call fcn.00407189
jmp 0x4685ea
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x1e0]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x1c8]
call fcn.004a927e
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x10
push ecx
lea ecx, [ebp - 0x22c]
push ecx
lea ecx, [edi + 0xa0]
call fcn.00409a0d
mov esi, dword [ebp - 0x224]
cmp byte [esi + 0xd], 0
jne 0x468891
lea edx, [esi + 0x10]
lea ecx, [ebp + 0x10]
call fcn.004090c0
test al, al
js 0x468891
cmp esi, dword [edi + 0xa0]
je 0x468891
add esi, 0x14
lea eax, [ebp - 0x1c8]
cmp eax, esi
je 0x468891
mov ecx, eax
call fcn.004091fe
push esi
lea ecx, [ebp - 0x1c8]
call fcn.004b6f9b
push 0
mov ecx, ebx
call fcn.00410453
mov esi, 0x5472c0
mov edx, 0xffffd8ee
push esi
mov ecx, ebx
call fcn.00410549
lea eax, [ebp - 0x1c8]
mov edx, ebx
push esi
push eax
lea ecx, [ebp - 0x1f4]
call fcn.004aaf86
add esp, 0x10
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x1f4], 0
jge 0x46894e
cmp dword [ebp - 0x1f0], 0
mov eax, 0x16ba
cmovne eax, dword [ebp - 0x1f0]
push eax
push dword [ebp - 0x1f4]
push ecx
mov esi, esp
mov dword [ebp - 0x190], esi
mov edi, dword [ebp - 0x1ec]
lea ecx, [edi - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x1a4]
mov dword [esi], eax
call fcn.00406620
mov ecx, dword [ebp - 0x1ac]
lea eax, [ebp - 0x1a4]
push eax
mov byte [ebp - 4], 0x12
call fcn.0040121b
mov ecx, dword [ebp - 0x19c]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [edi - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x1c8]
call fcn.004ad684
jmp 0x4685ea
mov ecx, dword [ebp - 0x1ec]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 0
call fcn.004ad684
mov ecx, dword [ebx + 8]
xor eax, eax
cmp byte [edi + 8], al
mov esi, 0xffffd8ee
push 0x54a2d4
setne al
mov edx, esi
mov dword [ecx], eax
mov dword [ecx + 8], 1
mov ecx, ebx
add dword [ebx + 8], 0x10
call fcn.00410549
mov ecx, dword [ebx + 8]
xor eax, eax
cmp byte [edi + 0xb0], al
mov edx, esi
mov dword [esp], 0x54a2dc
setne al
mov dword [ecx], eax
mov dword [ecx + 8], 1
mov ecx, ebx
add dword [ebx + 8], 0x10
call fcn.00410549
mov ecx, dword [ebx + 8]
xor eax, eax
cmp byte [edi + 0x2a], al
mov edx, esi
mov dword [esp], str.repair
setne al
mov dword [ecx], eax
mov dword [ecx + 8], 1
mov ecx, ebx
add dword [ebx + 8], 0x10
call fcn.00410549
mov ecx, dword [ebx + 8]
xor eax, eax
cmp byte [edi + 0x29], al
mov edx, esi
mov dword [esp], str.updateonly
setne al
mov dword [ecx], eax
mov dword [ecx + 8], 1
mov ecx, ebx
add dword [ebx + 8], 0x10
call fcn.00410549
mov eax, dword [0x57d3ec]
pop ecx
add eax, 0x54
mov byte [ebp - 0x1a5], 1
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x13
call fcn.0044f24f
mov edx, dword [ebx + 8]
xor ecx, ecx
cmp byte [eax + 0x180], cl
mov dword [edx + 8], 1
setne cl
mov dword [edx], ecx
lea ecx, [ebp - 0x1a5]
add dword [ebx + 8], 0x10
mov byte [ebp - 4], 0
call fcn.0044f694
push 0x54a2f8
mov edx, esi
mov ecx, ebx
call fcn.00410549
mov ecx, dword [ebx + 8]
call fcn.0044e82b
movzx eax, al
mov dword [ecx], eax
mov dword [ecx + 8], 1
add dword [ebx + 8], 0x10
mov dword [esp], str.running_remotely
mov edx, esi
mov ecx, ebx
call fcn.00410549
mov esi, dword [ebp + 0x18]
xor eax, eax
mov ecx, dword [ebx + 8]
mov edx, 0xffffd8ee
mov dword [esp], str.disable_desktop_shortcuts
cmp byte [esi], al
mov dword [ecx + 8], 1
setne al
mov dword [ecx], eax
mov ecx, ebx
add dword [ebx + 8], 0x10
call fcn.00410549
mov ecx, dword [ebx + 8]
xor eax, eax
cmp byte [esi], al
mov edx, 0xffffd8ee
mov dword [esp], str.disable_shortcuts
setne al
mov dword [ecx], eax
mov dword [ecx + 8], 1
mov ecx, ebx
add dword [ebx + 8], 0x10
call fcn.00410549
mov ecx, dword [ebx + 8]
xor eax, eax
cmp byte [esi + 1], al
mov esi, 0xffffd8ee
mov edx, esi
mov dword [esp], str.disable_quicklaunch_shortcuts
setne al
mov dword [ecx], eax
mov dword [ecx + 8], 1
mov ecx, ebx
add dword [ebx + 8], 0x10
call fcn.00410549
mov ecx, dword [ebx + 8]
xor eax, eax
cmp byte [edi + 0x26], al
mov edx, esi
mov dword [esp], str.all_users
setne al
mov dword [ecx], eax
mov dword [ecx + 8], 1
mov ecx, ebx
add dword [ebx + 8], 0x10
call fcn.00410549
mov ecx, dword [ebx + 8]
xor eax, eax
cmp byte [edi + 0x27], al
mov edx, esi
mov dword [esp], str.kill_running
setne al
mov dword [ecx], eax
mov dword [ecx + 8], 1
mov ecx, ebx
add dword [ebx + 8], 0x10
call fcn.00410549
mov ecx, dword [ebx + 8]
xor eax, eax
cmp byte [edi + 0x28], al
mov edx, esi
mov dword [esp], str.disable_autoupdate
setne al
mov dword [ecx], eax
mov dword [ecx + 8], 1
mov ecx, ebx
add dword [ebx + 8], 0x10
call fcn.00410549
push 0
mov ecx, ebx
call fcn.00410453
mov edi, str.vars
mov edx, esi
push edi
mov ecx, ebx
call fcn.00410549
mov esi, dword [ebp - 0x1d0]
push edi
push dword [esi + 0xc]
mov edx, ebx
lea ecx, [ebp - 0x200]
call fcn.004aaf86
add esp, 0x14
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x200], 0
jge 0x468c16
cmp dword [ebp - 0x1fc], 0
mov eax, 0x16eb
cmovne eax, dword [ebp - 0x1fc]
push eax
push dword [ebp - 0x200]
push ecx
mov esi, esp
mov dword [ebp - 0x190], esi
mov edi, dword [ebp - 0x1f8]
lea ecx, [edi - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x1a4]
mov dword [esi], eax
call fcn.00406620
mov byte [ebp - 4], 0x15
jmp 0x4687ea
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x1f8]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov eax, dword [esi + 0xc]
lea ecx, [eax + 0x80]
mov eax, dword [eax + 0x110]
add eax, 4
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.004091cb
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0x190]
cmp eax, dword [ecx + 0x80]
je 0x468d17
add eax, 0x14
lea ecx, [ebp - 0x1a4]
push edi
push eax
mov edx, ebx
call fcn.004aaf86
pop ecx
pop ecx
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x1a4], 0
jge 0x468cdf
cmp dword [ebp - 0x1a0], 0
mov eax, 0x16f4
cmovne eax, dword [ebp - 0x1a0]
push eax
push dword [ebp - 0x1a4]
push ecx
mov esi, esp
mov dword [ebp - 0x190], esi
mov edi, dword [ebp - 0x19c]
lea ecx, [edi - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x210]
mov dword [esi], eax
call fcn.00406620
mov ecx, dword [ebp - 0x1ac]
lea eax, [ebp - 0x210]
push eax
mov byte [ebp - 4], 0x17
call fcn.0040121b
mov ecx, dword [ebp - 0x208]
jmp 0x468802
mov ecx, dword [ebp - 0x19c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov esi, dword [ebp - 0x1ac]
and dword [esi], 0
lea ecx, [esi + 8]
and dword [esi + 4], 0
call fcn.0040687a
mov ecx, dword [ebp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov eax, esi
call fcn.004d8aa1
ret 0x14
cmp dword [ecx + 0x84], 0
je 0x468ced
mov eax, dword [ecx + 0x110]
mov eax, dword [eax + 4]
cmp dword [eax - 0xc], 0
je 0x468ced
push 0x16f7
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x210]
call fcn.00406620
mov ecx, dword [ebp - 0x1ac]
lea eax, [ebp - 0x210]
push eax
mov byte [ebp - 4], 0x18
call fcn.0040121b
mov ecx, dword [ebp - 0x208]
lea ecx, [ecx - 0x10]
jmp 0x46880d