Function at 0x4215f5
Capabilities:
Query environment variable

Disassembly:
mov eax, 0x462b5f
call fcn.0043b410
sub esp, 0x294
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x10], esi
xor ebx, ebx
cmp byte [esi + 0x2ec], bl
mov dword [ebp - 4], ebx
je 0x4221fc
push str.operatingsystemcondition
lea ecx, [ebp + 8]
call fcn.0042598d
test eax, eax
jne 0x421e57
cmp byte [esi + 0x15e], bl
jne 0x421e57
mov eax, str.operatingsystemcondition
mov edi, 0x4675b0
mov ecx, eax
mov esi, 0x4675a8
test ecx, ecx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x2c], esi
jne 0x42164e
mov eax, 0x47d770
lea ecx, [ebp - 0x21]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x4c]
push ebx
push eax
mov byte [ebp - 4], 1
call fcn.004214df
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], bl
call fcn.0040632e
mov ecx, dword [ebp - 0x10]
push 1
push dword [ecx + 0x30]
mov byte [ecx + 0x15d], 1
push str.MajorVersion
push dword [ebp + 0x24]
call fcn.00423083
test al, al
jne 0x4216dd
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x4216b0
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 2
call fcn.004214df
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
jmp 0x422fcd
mov ecx, dword [ebp - 0x10]
push 1
push dword [ecx + 0x34]
push str.MinorVersion
push dword [ebp + 0x24]
call fcn.00423083
test al, al
jne 0x42175f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x38]
shr eax, 0x10
cmp dword [ecx + 0x3c], 1
movzx eax, al
jne 0x42171c
push 1
push eax
push str.MinorVersion
push dword [ebp + 0x24]
call fcn.00423083
test al, al
jne 0x42175f
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x421732
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 3
call fcn.004214df
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
jmp 0x422fcd
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x3c], 1
jne 0x4217d0
mov eax, dword [eax + 0x38]
shr eax, 0x10
movzx eax, al
cmp eax, 0x5a
jne 0x4217d0
mov ecx, dword [ebp - 0x10]
push 1
push eax
push str.MinorVersion
push dword [ebp + 0x24]
call fcn.00423083
test al, al
jne 0x4217d0
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x4217a3
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 4
call fcn.004214df
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
jmp 0x422fcd
mov ecx, dword [ebp - 0x10]
push 5
movzx eax, word [ecx + 0x154]
push eax
push str.ServicePackMajorMin
push dword [ebp + 0x24]
call fcn.00423083
test al, al
jne 0x421831
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x421804
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 5
call fcn.004214df
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
jmp 0x422fcd
mov ecx, dword [ebp - 0x10]
push 3
movzx eax, word [ecx + 0x154]
push eax
push str.ServicePackMajorMax
push dword [ebp + 0x24]
call fcn.00423083
test al, al
jne 0x421892
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x421865
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 6
call fcn.004214df
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
jmp 0x422fcd
mov ecx, dword [ebp - 0x10]
push 5
push dword [ecx + 0x38]
push str.BuildNumber
push dword [ebp + 0x24]
call fcn.00423083
test al, al
jne 0x4218ee
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x4218c1
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 7
call fcn.004214df
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
jmp 0x422fcd
mov ecx, dword [ebp - 0x10]
push 1
push dword [ecx + 0x3c]
push str.PlatformId
push dword [ebp + 0x24]
call fcn.00423083
test al, al
jne 0x42194a
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x42191d
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 8
call fcn.004214df
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
jmp 0x422fcd
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x228]
push str.CSDVersion
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 9
cmp eax, ebx
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x7c], esi
jne 0x421977
mov eax, 0x47d770
lea ecx, [ebp - 0x21]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x9c]
call fcn.0040b3d6
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0xb
call fcn.0041a0f3
cmp dword [ebp - 0x90], ebx
je 0x421ab8
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x9c]
push ebx
push eax
call fcn.004214df
lea eax, [ebp - 0x12]
push 1
push eax
push 0x477048
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
lea eax, [ebp - 0x74]
lea ecx, [ebp - 0x9c]
push eax
mov byte [ebp - 4], 0xc
call fcn.00425a64
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xb
call fcn.0040632e
lea eax, [ebp - 0x12]
push 1
push eax
mov eax, dword [ebp - 0x10]
add eax, 0x40
lea ecx, [ebp - 0x178]
push eax
call fcn.0040a6bc
lea eax, [ebp - 0x19]
push 1
push eax
push 0x477048
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xd
call fcn.0040b3d6
lea eax, [ebp - 0x74]
lea ecx, [ebp - 0x178]
push eax
mov byte [ebp - 4], 0xe
call fcn.00425a64
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xd
call fcn.0040632e
lea eax, [ebp - 0x178]
lea ecx, [ebp - 0x174]
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0x98]
push eax
call fcn.0040ce9a
test eax, eax
jle 0x421aa9
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x421a6d
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 0xf
call fcn.004214df
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xd
call fcn.0040632e
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x178]
jmp 0x421e44
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0xb
call fcn.0040632e
mov ecx, dword [ebp - 0x10]
push 1
movzx eax, byte [ecx + 0x15a]
push eax
push str.ProductType
push dword [ebp + 0x24]
call fcn.00423141
test al, al
jne 0x421b1a
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x421aec
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 0x10
call fcn.004214df
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4c]
jmp 0x421e44
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x20c]
push str.Language
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x11
cmp eax, ebx
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xb4], esi
jne 0x421b4a
mov eax, 0x47d770
lea ecx, [ebp - 0x19]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xd4]
call fcn.0040b3d6
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x13
call fcn.0041a0f3
cmp dword [ebp - 0xc8], ebx
je 0x421c2d
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0xd4]
push ebx
push eax
call fcn.004214df
push str.Kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [ebp - 0x20], eax
je 0x421c2d
push str.GetSystemDefaultUILanguage
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [ebp - 0x100], eax
je 0x421c24
lea eax, [ebp - 0x18]
push 0xa
push eax
lea ecx, [ebp - 0xd4]
call fcn.00426551
call dword [ebp - 0x100]
movzx eax, ax
cmp dword [ebp - 0x18], eax
je 0x421c24
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x421be9
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 0x14
call fcn.004214df
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x13
call fcn.0040632e
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x421e3a
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x16c]
push str.Bits
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x15
cmp eax, ebx
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x130], esi
jne 0x421c5d
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x150]
call fcn.0040b3d6
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x17
call fcn.0041a0f3
lea eax, [ebp - 0x18]
push 0xa
push eax
lea ecx, [ebp - 0x150]
call fcn.00426551
mov al, byte [ebp - 0x18]
test al, 1
je 0x421cea
call fcn.0042e148
test al, al
je 0x421ddf
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x421cb8
mov eax, 0x47d770
lea ecx, [ebp - 0x12]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 0x18
call fcn.004214df
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x4c]
call fcn.0040632e
jmp 0x421e2b
test al, 2
je 0x421d3b
call fcn.0042e148
test al, al
jne 0x421ddf
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x421d11
mov eax, 0x47d770
lea ecx, [ebp - 0x12]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 0x19
call fcn.004214df
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x4c]
jmp 0x421ce0
test al, 4
je 0x421d8f
call fcn.0042e17d
test al, al
jne 0x421ddf
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x421d62
mov eax, 0x47d770
lea ecx, [ebp - 0x12]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 0x1a
call fcn.004214df
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x4c]
jmp 0x421ce0
test al, 8
je 0x421ddf
call fcn.0042e161
test al, al
jne 0x421ddf
mov eax, str.____Failed_
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x421db2
mov eax, 0x47d770
lea ecx, [ebp - 0x12]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0x4c]
push 1
push eax
mov byte [ebp - 4], 0x1b
call fcn.004214df
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x4c]
jmp 0x421ce0
mov eax, str.____Successful
mov dword [ebp - 0x4c], edi
mov ecx, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
jne 0x421df5
mov eax, 0x47d770
lea ecx, [ebp - 0x12]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
mov esi, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0x4c]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1c
call fcn.004214df
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x17
call fcn.0040632e
mov byte [esi + 0x15e], 1
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x13
call fcn.0040632e
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xd4]
call fcn.0040632e
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x9c]
jmp 0x422fcd
cmp byte [esi + 0x2ec], bl
je 0x4221fc
push str.condition
lea ecx, [ebp + 8]
call fcn.0042598d
test eax, eax
jne 0x4221fc
mov eax, dword [ebp - 0x10]
mov edi, 0x4675b0
mov esi, 0x4675a8
mov dword [ebp - 0x9c], edi
mov byte [eax + 0x15f], 1
mov eax, str.condition
mov ecx, eax
mov dword [ebp - 0x7c], esi
test ecx, ecx
jne 0x421ea5
mov eax, 0x47d770
lea ecx, [ebp - 0x19]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x9c]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x9c]
push ebx
push eax
mov byte [ebp - 4], 0x1d
call fcn.004214df
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], bl
call fcn.0040632e
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x16c]
push str.Type
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x1e
cmp eax, ebx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x2c], esi
jne 0x421f04
mov eax, 0x47d770
lea ecx, [ebp - 0x19]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x20
call fcn.0041a0f3
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x20c]
push str.Comparison
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x21
cmp eax, ebx
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x108], esi
jne 0x421f51
mov eax, 0x47d770
lea ecx, [ebp - 0x12]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x128]
call fcn.0040b3d6
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x23
call fcn.0041a0f3
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x228]
push str.Path
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x24
cmp eax, ebx
mov dword [ebp - 0x1f0], edi
mov dword [ebp - 0x1d0], esi
jne 0x421fa1
mov eax, 0x47d770
lea ecx, [ebp - 0x21]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x1f0]
call fcn.0040b3d6
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x26
call fcn.0041a0f3
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0xf0]
push str.FileName
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x27
cmp eax, ebx
mov dword [ebp - 0x1c8], edi
mov dword [ebp - 0x1a8], esi
jne 0x421ff1
mov eax, 0x47d770
lea ecx, [ebp - 0x9d]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x1c8]
call fcn.0040b3d6
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x29
call fcn.0041a0f3
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0xc8]
push str.ReturnValue
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x2a
cmp eax, ebx
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x180], esi
jne 0x422044
mov eax, 0x47d770
lea ecx, [ebp - 0x13]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x1a0]
call fcn.0040b3d6
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x2c
call fcn.0041a0f3
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push str.Bits
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x2d
cmp eax, ebx
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x130], esi
jne 0x422094
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x150]
call fcn.0040b3d6
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x2f
call fcn.0041a0f3
lea eax, [ebp - 0x1a0]
mov ecx, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004213da
lea eax, [ebp - 0x1a0]
mov ecx, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0042324d
test al, al
jne 0x422163
mov eax, str.____Failed_
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x42212c
mov eax, 0x47d770
lea ecx, [ebp - 0x11]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov esi, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0x74]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0x30
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x2f
call fcn.0040632e
mov byte [esi + 0x160], bl
jmp 0x4221a6
mov eax, str.____Successful
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x422179
mov eax, 0x47d770
lea ecx, [ebp - 0x11]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0x74]
push 1
push eax
mov byte [ebp - 4], 0x31
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x2f
call fcn.0040632e
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x2c
call fcn.0040632e
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x29
call fcn.0040632e
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 0x26
call fcn.0040632e
lea ecx, [ebp - 0x1f0]
mov byte [ebp - 4], 0x23
call fcn.0040632e
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x20
call fcn.0040632e
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
jmp 0x422fcd
push str.file
lea ecx, [ebp + 8]
call fcn.0042598d
test eax, eax
jne 0x422445
mov eax, str.file
mov edi, 0x4675b0
mov ecx, eax
mov esi, 0x4675a8
test ecx, ecx
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x54], esi
jne 0x422231
mov eax, 0x47d770
lea ecx, [ebp - 0x11]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x74]
push ebx
push eax
mov byte [ebp - 4], 0x32
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], bl
call fcn.0040632e
lea ecx, [ebp - 0x2a0]
call fcn.00422fef
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push str.CheckSum
push eax
mov byte [ebp - 4], 0x33
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x34
cmp eax, ebx
jne 0x422290
mov eax, 0x47d770
push eax
lea ecx, [ebp - 0x250]
call fcn.0040be68
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x33
call fcn.0041a0f3
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push str.LocalFile
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x35
cmp eax, ebx
jne 0x4222cf
mov eax, 0x47d770
push eax
lea ecx, [ebp - 0x2a0]
call fcn.0040be68
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x33
call fcn.0041a0f3
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push 0x478e2c
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x36
cmp eax, ebx
jne 0x42230e
mov eax, 0x47d770
push eax
lea ecx, [ebp - 0x278]
call fcn.0040be68
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x33
call fcn.0041a0f3
lea eax, [ebp + 0x27]
push ebx
push eax
push 0x47d770
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x108], esi
call fcn.0040b3d6
lea eax, [ebp - 0x11]
push ebx
push eax
push 0x47d770
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x37
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x2c], esi
call fcn.0040b3d6
lea eax, [ebp - 0x13]
push ebx
push eax
push 0x47d770
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x38
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x54], esi
call fcn.0040b3d6
lea eax, [ebp - 0x128]
mov ecx, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x2a0]
push eax
lea eax, [ebp - 0x250]
push eax
mov byte [ebp - 4], 0x39
call fcn.004213da
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x38
call fcn.0040632e
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x37
call fcn.0040632e
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x33
call fcn.0040632e
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x164]
call fcn.00425bd1
mov eax, str.____Successful
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x422404
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x74]
push 1
push eax
mov byte [ebp - 4], 0x3a
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x33
call fcn.0040632e
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], bl
call fcn.0041ec77
jmp 0x422fd2
push str.properties
lea ecx, [ebp + 8]
call fcn.0042598d
test eax, eax
jne 0x422592
mov eax, 0x478e0c
mov edi, 0x4675b0
mov ecx, eax
mov esi, 0x4675a8
test ecx, ecx
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x54], esi
jne 0x42247a
mov eax, 0x47d770
lea ecx, [ebp - 0x11]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x74]
push ebx
push eax
mov byte [ebp - 4], 0x3b
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], bl
call fcn.0040632e
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push 0x478e0c
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x3c
cmp eax, ebx
jne 0x4224ca
mov eax, 0x47d770
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x17c]
call fcn.0040be68
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], bl
call fcn.0041a0f3
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
push 1
add eax, 0x17c
push ebx
push eax
call fcn.004214df
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push str.AltPrqURL
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x3d
cmp eax, ebx
jne 0x42251f
mov eax, 0x47d770
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x294]
call fcn.0040be68
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], bl
call fcn.0041a0f3
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
push 1
add eax, 0x294
push ebx
push eax
call fcn.004214df
mov eax, str.____Successful
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x422566
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0x74]
push 1
push eax
mov byte [ebp - 4], 0x3e
call fcn.004214df
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x74]
jmp 0x422fcd
push str.execute
lea ecx, [ebp + 8]
call fcn.0042598d
test eax, eax
jne 0x422a00
mov eax, str.execute
mov edi, 0x4675b0
mov ecx, eax
mov esi, 0x4675a8
test ecx, ecx
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x54], esi
jne 0x4225c7
mov eax, 0x47d770
lea ecx, [ebp - 0x11]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x74]
push ebx
push eax
mov byte [ebp - 4], 0x3f
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], bl
call fcn.0040632e
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push str.file
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x40
cmp eax, ebx
jne 0x422617
mov eax, 0x47d770
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x1a4]
call fcn.0040be68
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], bl
call fcn.0041a0f3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1d8]
cmp eax, ebx
jne 0x422743
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push 0x4771b0
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x41
cmp eax, ebx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x2c], esi
jne 0x42266f
mov eax, 0x47d770
lea ecx, [ebp - 0x11]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x43
call fcn.0041a0f3
mov eax, dword [ebp - 0x10]
push 0x104
lea ecx, [eax + 0x1cc]
lea eax, [ebp - 0xac]
push eax
call fcn.0040b824
mov dword [ebp - 0x18], eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0x44
call fcn.0040bc49
mov ecx, dword [ebp - 0x18]
push 0x104
push eax
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x4c]
call fcn.0040bc49
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x43
call fcn.0040bc91
cmp dword [ebp - 0x20], 0x104
jbe 0x422738
push dword [ebp - 0x20]
lea eax, [ebp - 0xac]
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x1cc]
call fcn.0040b824
mov dword [ebp - 0x18], eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0x45
call fcn.0040bc49
mov ecx, dword [ebp - 0x18]
push dword [ebp - 0x20]
mov dword [ecx + 8], eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040bc49
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x43
call fcn.0040bc91
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], bl
call fcn.0040632e
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x200], ebx
jne 0x422850
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push str.cmdlinesilent
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x46
cmp eax, ebx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x2c], esi
jne 0x42277c
mov eax, 0x47d770
lea ecx, [ebp - 0x11]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040b3d6
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x48
call fcn.0041a0f3
mov eax, dword [ebp - 0x10]
push 0x104
lea ecx, [eax + 0x1f4]
lea eax, [ebp - 0xac]
push eax
call fcn.0040b824
mov dword [ebp - 0x18], eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0x49
call fcn.0040bc49
mov ecx, dword [ebp - 0x18]
push 0x104
push eax
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x4c]
call fcn.0040bc49
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x48
call fcn.0040bc91
cmp dword [ebp - 0x20], 0x104
jbe 0x422845
push dword [ebp - 0x20]
lea eax, [ebp - 0xac]
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x1f4]
call fcn.0040b824
mov dword [ebp - 0x18], eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0x4a
call fcn.0040bc49
mov ecx, dword [ebp - 0x18]
push dword [ebp - 0x20]
mov dword [ecx + 8], eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040bc49
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x48
call fcn.0040bc91
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], bl
call fcn.0040632e
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push str.returncodetoreboot
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x4b
cmp eax, ebx
jne 0x422874
mov eax, 0x47d770
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x21c]
call fcn.0040be68
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], bl
call fcn.0041a0f3
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push str.forcesilent
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x4c
cmp eax, ebx
jne 0x4228b5
mov eax, 0x47d770
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x244]
call fcn.0040be68
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], bl
call fcn.0041a0f3
lea eax, [ebp - 0x11]
push ebx
push eax
push 0x47d770
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x54], esi
call fcn.0040b3d6
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x4d
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x244]
add eax, 0x21c
push ecx
mov ecx, dword [ebp - 0x10]
push eax
lea eax, [ecx + 0x1f4]
push eax
lea eax, [ecx + 0x1cc]
push eax
lea eax, [ecx + 0x1a4]
push eax
call fcn.004213da
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], bl
call fcn.0040632e
mov eax, str.____Successful
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x422940
mov eax, 0x47d770
lea ecx, [ebp - 0x11]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0x74]
push 1
push eax
mov byte [ebp - 4], 0x4e
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], bl
call fcn.0040632e
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push str.requiresmsiengine
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x4f
cmp eax, ebx
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x108], esi
jne 0x42299c
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x128]
call fcn.0040b3d6
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x51
call fcn.0041a0f3
mov esi, 0x477794
push esi
call fcn.0043b8c2
pop ecx
push eax
push esi
push dword [ebp - 0x11c]
lea ecx, [ebp - 0x124]
push ebx
call fcn.0040cebc
cmp eax, ebx
mov eax, dword [ebp - 0x10]
jne 0x4229ec
mov byte [eax + 0x2ed], 1
jmp 0x4229f2
mov byte [eax + 0x2ed], bl
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x128]
jmp 0x422fcd
push str.dependency
lea ecx, [ebp + 8]
call fcn.0042598d
test eax, eax
jne 0x422b18
mov eax, str.dependency
mov edi, 0x4675b0
mov ecx, eax
mov esi, 0x4675a8
test ecx, ecx
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x54], esi
jne 0x422a35
mov eax, 0x47d770
lea ecx, [ebp - 0x11]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x74]
push ebx
push eax
mov byte [ebp - 4], 0x52
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], bl
call fcn.0040632e
lea ecx, [ebp - 0x4c]
call fcn.0042305c
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push str.File
push eax
mov byte [ebp - 4], 0x53
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x54
cmp eax, ebx
jne 0x422a91
mov eax, 0x47d770
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040be68
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x53
call fcn.0041a0f3
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x170]
call fcn.00425c68
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x4c]
push ebx
push eax
call fcn.004214df
mov eax, str.____Successful
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x422ae0
mov eax, 0x47d770
lea ecx, [ebp + 0x27]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0x74]
push 1
push eax
mov byte [ebp - 4], 0x55
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x53
call fcn.0040632e
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
jmp 0x422fcd
push str.behavior
lea ecx, [ebp + 8]
call fcn.0042598d
test eax, eax
jne 0x422fd2
mov eax, str.behavior
mov edi, 0x4675b0
mov ecx, eax
mov esi, 0x4675a8
test ecx, ecx
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x54], esi
jne 0x422b4d
mov eax, 0x47d770
lea ecx, [ebp - 0x11]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x74]
push ebx
push eax
mov byte [ebp - 4], 0x56
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], bl
call fcn.0040632e
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x90]
push str.Optional
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x57
cmp eax, ebx
mov dword [ebp - 0xfc], edi
mov dword [ebp - 0xdc], esi
jne 0x422ba9
mov eax, 0x47d770
lea ecx, [ebp - 0x11]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xfc]
call fcn.0040b3d6
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x59
call fcn.0041a0f3
lea eax, [ebp - 0x18]
push 0xa
push eax
lea ecx, [ebp - 0xfc]
call fcn.00426551
cmp dword [ebp - 0x18], ebx
je 0x422be9
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x30c], 1
mov eax, str.Optional
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x422bff
mov eax, 0x47d770
lea ecx, [ebp - 0x13]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x74]
push ebx
push eax
mov byte [ebp - 4], 0x5a
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x59
call fcn.0040632e
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0xfc]
push ebx
push eax
call fcn.004214df
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0xc8]
push str.Reboot
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x5b
cmp eax, ebx
jne 0x422c62
mov eax, 0x47d770
push eax
lea ecx, [ebp - 0xfc]
call fcn.0040be68
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x59
call fcn.0041a0f3
lea eax, [ebp - 0x18]
push 0xa
push eax
lea ecx, [ebp - 0xfc]
call fcn.00426551
mov eax, dword [ebp - 0x18]
cmp eax, ebx
je 0x422c9e
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x304], eax
mov eax, str.Reboot
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x422cb4
mov eax, 0x47d770
lea ecx, [ebp - 0x13]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x74]
push ebx
push eax
mov byte [ebp - 4], 0x5c
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x59
call fcn.0040632e
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0xfc]
push ebx
push eax
call fcn.004214df
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0xc8]
push str.Failure
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x5d
cmp eax, ebx
jne 0x422d17
mov eax, 0x47d770
push eax
lea ecx, [ebp - 0xfc]
call fcn.0040be68
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x59
call fcn.0041a0f3
lea eax, [ebp - 0x18]
push 0xa
push eax
lea ecx, [ebp - 0xfc]
call fcn.00426551
mov eax, dword [ebp - 0x18]
cmp eax, ebx
je 0x422d53
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x308], eax
mov eax, str.Failure
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x422d69
mov eax, 0x47d770
lea ecx, [ebp - 0x13]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x74]
push ebx
push eax
mov byte [ebp - 4], 0x5e
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x59
call fcn.0040632e
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0xfc]
push 1
push eax
call fcn.004214df
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0xc8]
push 0x478d00
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x5f
cmp eax, ebx
jne 0x422dcc
mov eax, 0x47d770
push eax
lea ecx, [ebp - 0xfc]
call fcn.0040be68
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x59
call fcn.0041a0f3
lea eax, [ebp - 0x18]
push 0xa
push eax
lea ecx, [ebp - 0xfc]
call fcn.00426551
cmp dword [ebp - 0x18], ebx
je 0x422e07
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x30d], 1
mov eax, 0x478d00
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x422e1d
mov eax, 0x47d770
lea ecx, [ebp - 0x13]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x74]
push ebx
push eax
mov byte [ebp - 4], 0x60
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x59
call fcn.0040632e
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0xfc]
push 1
push eax
call fcn.004214df
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0xc8]
push str.Hidden
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x61
cmp eax, ebx
jne 0x422e80
mov eax, 0x47d770
push eax
lea ecx, [ebp - 0xfc]
call fcn.0040be68
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x59
call fcn.0041a0f3
lea eax, [ebp - 0x18]
push 0xa
push eax
lea ecx, [ebp - 0xfc]
call fcn.00426551
cmp dword [ebp - 0x18], ebx
je 0x422ebb
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x161], 1
mov eax, str.Hidden
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x422ed1
mov eax, 0x47d770
lea ecx, [ebp - 0x13]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x74]
push ebx
push eax
mov byte [ebp - 4], 0x62
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x59
call fcn.0040632e
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0xfc]
push 1
push eax
call fcn.004214df
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0xc8]
push str.MsiProgress
push eax
call fcn.00439204
mov eax, dword [eax + 0x10]
mov byte [ebp - 4], 0x63
cmp eax, ebx
jne 0x422f34
mov eax, 0x47d770
push eax
lea ecx, [ebp - 0xfc]
call fcn.0040be68
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x59
call fcn.0041a0f3
lea eax, [ebp + 0x24]
push 0xa
push eax
lea ecx, [ebp - 0xfc]
call fcn.00426551
cmp dword [ebp + 0x24], ebx
je 0x422f6f
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x162], 1
mov eax, str.MsiProgress
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
jne 0x422f85
mov eax, 0x47d770
lea ecx, [ebp - 0x13]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0040b3d6
mov ecx, dword [ebp - 0x10]
push 1
lea eax, [ebp - 0x74]
push ebx
push eax
mov byte [ebp - 4], 0x64
call fcn.004214df
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x59
call fcn.0040632e
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0xfc]
push 1
push eax
call fcn.004214df
mov byte [ebp - 4], bl
lea ecx, [ebp - 0xfc]
call fcn.0040632e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.0041a0f3
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x20