Function at 0x41853a
Capabilities:
Contain obfuscated stackstrings
Query environment variable

Disassembly:
push 0x16c
mov eax, 0x48c12e
call fcn.00459b85
mov eax, ecx
mov dword [ebp - 0x178], eax
xor ebx, ebx
mov dword [ebp - 0x168], ebx
call fcn.0040f080
mov edi, eax
mov dword [ebp - 0xa0], 0x4b6748
push ebx
lea eax, [ebp - 0x161]
mov dword [ebp - 0x78], 0x4b6750
push eax
mov esi, 0x4dda78
lea ecx, [ebp - 0xa0]
push esi
call fcn.00407aa0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x9c]
cmp dword [ebp - 0x88], 8
mov dword [ebp - 0x170], str.C:CodeBasesisdevSrcRuntimeMSISharedSetupdiskaction.cpp
cmovae eax, dword [ebp - 0x9c]
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x16c], 0xd6
push str.Reading_setup.ini_from__s
push eax
call fcn.00415eae
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00404cc0
push esi
lea ecx, [edi + 0x18]
call fcn.0041225c
xor esi, esi
mov dword [ebp - 0xd0], 0x4b6748
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0xa8], 0x4b6750
push eax
push 0x4b65d4
lea ecx, [ebp - 0xd0]
call fcn.00407aa0
mov dword [ebp - 4], 4
lea eax, [ebp - 0x161]
push esi
push eax
push 0x4a6fec
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x130], 0x4b6748
mov dword [ebp - 0x108], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x161]
push esi
push eax
push str.Startup
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0x4b6748
mov dword [ebp - 0x78], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 8
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x130]
mov ecx, edi
push eax
lea eax, [ebp - 0xa0]
push eax
push 5
call fcn.004193c2
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xa0]
call fcn.00404cc0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x130]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd0]
call fcn.00404cc0
mov eax, dword [edi + 4]
push 5
mov esi, dword [eax + 0x28]
mov ecx, esi
call dword [0x4a5608]
lea ecx, [edi + 4]
call esi
test al, al
jne 0x418763
push ebx
lea eax, [ebp - 0x161]
mov dword [ebp - 0xa0], 0x4b6748
push eax
push 0x4a6fec
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x78], 0x4b6750
call fcn.00407aa0
mov dword [ebp - 4], 0xd
lea eax, [ebp - 0x9c]
cmp dword [ebp - 0x88], 8
mov dword [ebp - 0x170], str.C:CodeBasesisdevSrcRuntimeMSISharedSetupdiskaction.cpp
cmovae eax, dword [ebp - 0x9c]
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x16c], 0xdf
push str.Failed_to_read_setup_package:__s_name_from_Setup.ini
push eax
call fcn.00415eae
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00404cc0
xor eax, eax
jmp 0x419391
mov ecx, dword [ebp - 0x178]
call fcn.0041660f
test al, al
jne 0x41879b
lea eax, [ebp - 0x170]
mov dword [ebp - 0x170], str.C:CodeBasesisdevSrcRuntimeMSISharedSetupdiskaction.cpp
push str.Failed_to_get_MSI_Engine_Version
push eax
mov dword [ebp - 0x16c], 0xe7
call fcn.00415eae
pop ecx
pop ecx
jmp 0x41875c
xor esi, esi
mov dword [ebp - 0x130], 0x4b6748
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0x108], 0x4b6750
push eax
push str.DiskSpace
lea ecx, [ebp - 0x130]
call fcn.00407aa0
mov dword [ebp - 4], 0x10
lea eax, [ebp - 0x161]
push esi
push eax
push str.Info
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0x4b6748
mov dword [ebp - 0xa8], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x130]
push 0xa
push 0x1f40
push eax
lea eax, [ebp - 0xd0]
mov ecx, edi
push eax
call fcn.004402a8
mov dword [edi + 0x40], eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xd0]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x130]
call fcn.00404cc0
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0xa0], 0x4b6748
push eax
push str.OnUpgrade
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x78], 0x4b6750
call fcn.00407aa0
mov dword [ebp - 4], 0x16
lea eax, [ebp - 0x161]
push esi
push eax
push str.Startup
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0x4b6748
mov dword [ebp - 0xa8], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0xa0]
push 0xa
push 1
push eax
lea eax, [ebp - 0xd0]
mov ecx, edi
push eax
call fcn.004402a8
mov esi, eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xd0]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00404cc0
cmp esi, 1
jne 0x4188f6
mov eax, dword [edi + 0x268]
cmp byte [eax + 1], 0
jne 0x4188f1
cmp byte [eax + 2], 0
jne 0x4188f1
xor eax, eax
jmp 0x4188fe
xor eax, eax
inc eax
jmp 0x4188fe
cmp esi, 2
je 0x4188f1
push 2
pop eax
push 0x38
pop edx
mov ecx, edi
xor esi, esi
push esi
mov dword [ecx + edx], eax
lea eax, [ebp - 0x161]
push eax
push 0x4b65d4
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0x4b6748
mov dword [ebp - 0x78], 0x4b6750
call fcn.00407aa0
mov dword [ebp - 4], 0x1c
lea eax, [ebp - 0x161]
push esi
push eax
push str.ProductCode
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x130], 0x4b6748
mov dword [ebp - 0x108], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x161]
push esi
push eax
push str.Startup
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0x4b6748
mov dword [ebp - 0xa8], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x130]
mov ecx, edi
push eax
lea eax, [ebp - 0xd0]
push eax
push 1
call fcn.004193c2
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xd0]
call fcn.00404cc0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x130]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00404cc0
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0x100], 0x4b6748
push eax
push 0x4b65d4
lea ecx, [ebp - 0x100]
mov dword [ebp - 0xd8], 0x4b6750
call fcn.00407aa0
mov dword [ebp - 4], 0x25
lea eax, [ebp - 0x161]
push esi
push eax
push str.PackageCode
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x130], 0x4b6748
mov dword [ebp - 0x108], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x27
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0xd0], 0x4b6748
push eax
push str.Startup
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xa8], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x130]
mov ecx, edi
push eax
lea eax, [ebp - 0xd0]
push eax
push 2
call fcn.004193c2
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0xd0]
call fcn.00404cc0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x130]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
call fcn.00404cc0
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0x70], 0x4b6748
push eax
push 0x4b65d4
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x48], 0x4b6750
call fcn.00407aa0
mov dword [ebp - 4], 0x2e
lea eax, [ebp - 0x161]
push esi
push eax
push str.UpgradeCode
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0x4b6748
mov dword [ebp - 0xa8], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x161]
push esi
push eax
push str.Startup
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x100], 0x4b6748
mov dword [ebp - 0xd8], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0xd0]
mov ecx, edi
push eax
lea eax, [ebp - 0x100]
push eax
push 0x14
call fcn.004193c2
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x100]
call fcn.00404cc0
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0xd0]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00404cc0
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0x40], 0x4b6748
push eax
push 0x4b65d4
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x18], 0x4b6750
call fcn.00407aa0
mov dword [ebp - 4], 0x37
lea eax, [ebp - 0x161]
push esi
push eax
push 0x4a76f0
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x100], 0x4b6748
mov dword [ebp - 0xd8], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x39
lea eax, [ebp - 0x161]
push esi
push eax
push str.Startup
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0x4b6748
mov dword [ebp - 0x48], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x100]
mov ecx, edi
push eax
lea eax, [ebp - 0x70]
push eax
push 3
call fcn.004193c2
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x70]
call fcn.00404cc0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x100]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.00404cc0
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x40]
push 7
push ecx
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4a5608]
lea ecx, [edi + 4]
call esi
mov dword [ebp - 4], 0x3f
mov esi, dword [eax + 0x14]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.00404cc0
test esi, esi
jne 0x418ea4
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0x100], 0x4b6748
push eax
push 0x4b65d4
lea ecx, [ebp - 0x100]
mov dword [ebp - 0xd8], 0x4b6750
call fcn.00407aa0
mov dword [ebp - 4], 0x42
lea eax, [ebp - 0x161]
push esi
push eax
push str.CmdLine
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0x4b6748
mov dword [ebp - 0x48], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0x161]
push esi
push eax
push str.Startup
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0x4b6748
mov dword [ebp - 0x18], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x46
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x70]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
push 7
call fcn.004193c2
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x40]
call fcn.00404cc0
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x70]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
call fcn.00404cc0
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0xa0], 0x4b6748
push eax
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x78], 0x4b6750
call fcn.004060a0
mov dword [ebp - 4], 0x4c
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x174], eax
mov ecx, 0x400
xor eax, eax
mov byte [ebp - 0x170], al
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x8c], ecx
jae 0x418da6
push eax
push ecx
lea ecx, [ebp - 0x9c]
call fcn.0041496d
or ebx, 0x10
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x168], ebx
mov eax, dword [edi + 4]
push 7
push ecx
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4a5608]
lea ecx, [edi + 4]
call esi
mov esi, eax
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0x170], 1
call fcn.004140be
add esi, 4
cmp dword [esi + 0x14], 8
jb 0x418deb
mov esi, dword [esi]
push 0x400
push dword [eax]
push esi
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x40]
call fcn.00404cc0
and ebx, 0xffffffef
mov dword [ebp - 0x168], ebx
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x174]
call fcn.0041132b
mov eax, dword [edi + 4]
lea ecx, [ebp - 0xa0]
push 0
push ecx
push 7
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x4a5608]
lea ecx, [edi + 4]
call esi
mov eax, dword [edi + 4]
mov esi, dword [eax]
mov ecx, esi
call dword [0x4a5608]
lea ecx, [edi + 4]
call esi
cmp eax, 5
je 0x418e95
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x40]
push 7
push ecx
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4a5608]
lea ecx, [edi + 4]
call esi
mov byte [ebp - 4], 0x4f
add eax, 4
cmp dword [eax + 0x14], 8
jb 0x418e7a
mov eax, dword [eax]
push 1
push eax
push 0x4a789c
mov ecx, edi
call fcn.0043d761
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x40]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00404cc0
xor esi, esi
mov dword [ebp - 0x100], 0x4b6748
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0xd8], 0x4b6750
push eax
push 0x4a78a4
lea ecx, [ebp - 0x100]
call fcn.00407aa0
mov dword [ebp - 4], 0x53
lea eax, [ebp - 0x161]
push esi
push eax
push str.BillboardType
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0x4b6748
mov dword [ebp - 0x48], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x55
lea eax, [ebp - 0x161]
push esi
push eax
push str.Startup
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0x4b6748
mov dword [ebp - 0x18], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x57
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x70]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
push 0x13
call fcn.004193c2
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x40]
call fcn.00404cc0
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x70]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
call fcn.00404cc0
mov eax, dword [edi + 4]
mov esi, dword [eax]
mov ecx, esi
call dword [0x4a5608]
lea ecx, [edi + 4]
call esi
xor esi, esi
test eax, eax
jne 0x418ffc
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0x70], 0x4b6748
push eax
push str.Mode
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x48], 0x4b6750
call fcn.00407aa0
mov dword [ebp - 4], 0x5c
lea eax, [ebp - 0x161]
push esi
push eax
push str.Startup
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0x4b6748
mov dword [ebp - 0x18], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x5e
lea eax, [ebp - 0x70]
push 0xa
push esi
push eax
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.004402a8
mov dword [edi + 0x14], eax
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x40]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00404cc0
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0x100], 0x4b6748
push eax
push 0x4b65d4
lea ecx, [ebp - 0x100]
mov dword [ebp - 0xd8], 0x4b6750
call fcn.00407aa0
mov dword [ebp - 4], 0x62
lea eax, [ebp - 0x161]
push esi
push eax
push 0x4a78a8
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0x4b6748
mov dword [ebp - 0x48], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x64
lea eax, [ebp - 0x161]
push esi
push eax
push str.Startup
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0x4b6748
mov dword [ebp - 0x18], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0x66
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x70]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
push 0xd
call fcn.004193c2
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x40]
call fcn.00404cc0
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x70]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
call fcn.00404cc0
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x160]
push 0xd
push ecx
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4a5608]
lea ecx, [edi + 4]
call esi
mov dword [ebp - 4], 0x6a
cmp dword [ebp - 0x14c], 3
jbe 0x41937f
push 0
lea eax, [ebp - 0x161]
mov dword [ebp - 0x40], 0x4b6748
push eax
push 0x4a78c4
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x18], 0x4b6750
call fcn.0041070a
mov byte [ebp - 4], 0x6c
lea eax, [ebp - 0x3c]
push 0
push eax
lea ecx, [ebp - 0x15c]
call fcn.00413f72
mov esi, eax
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x40]
call fcn.00404cc0
test esi, esi
jne 0x419140
mov byte [edi + 0x4c], 1
jmp 0x419307
xor esi, esi
mov dword [ebp - 0x40], 0x4b6748
push esi
lea eax, [ebp - 0x161]
mov dword [ebp - 0x18], 0x4b6750
push eax
push 0x4a78cc
lea ecx, [ebp - 0x40]
call fcn.0041070a
mov byte [ebp - 4], 0x6f
lea eax, [ebp - 0x3c]
push esi
or ebx, 1
lea ecx, [ebp - 0x15c]
push eax
mov dword [ebp - 0x168], ebx
call fcn.00413f72
test eax, eax
je 0x4191c7
push 1
lea eax, [ebp - 0x161]
push eax
push str.v1.1
lea ecx, [ebp - 0x70]
call fcn.0041099e
mov dword [ebp - 4], 0x70
lea eax, [ebp - 0x6c]
push esi
or ebx, 2
lea ecx, [ebp - 0x15c]
push eax
mov dword [ebp - 0x168], ebx
call fcn.00413f72
mov byte [ebp - 0x161], 0
test eax, eax
jne 0x4191ce
mov byte [ebp - 0x161], 1
push 0x6f
pop eax
mov dword [ebp - 4], eax
test bl, 2
je 0x4191ed
and ebx, 0xfffffffd
mov dword [ebp - 0x168], ebx
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x70]
call fcn.00404cc0
mov dword [ebp - 4], 0x6a
test bl, 1
je 0x41920e
and ebx, 0xfffffffe
mov dword [ebp - 0x168], ebx
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x40]
call fcn.00404cc0
cmp byte [ebp - 0x161], 0
je 0x419220
mov byte [edi + 0x4d], 1
jmp 0x419307
push 0
lea eax, [ebp - 0x161]
mov dword [ebp - 0x48], 0x4b6750
push eax
mov esi, 0x4b6748
lea ecx, [ebp - 0x70]
push 0x4a78e0
mov dword [ebp - 0x70], esi
call fcn.0041070a
mov byte [ebp - 4], 0x74
lea eax, [ebp - 0x6c]
push 0
or ebx, 4
lea ecx, [ebp - 0x15c]
push eax
mov dword [ebp - 0x168], ebx
call fcn.00413f72
test eax, eax
je 0x4192b3
push 0
lea eax, [ebp - 0x161]
mov dword [ebp - 0x40], esi
push eax
push str.v2.0
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x18], 0x4b6750
call fcn.0041070a
mov dword [ebp - 4], 0x76
lea eax, [ebp - 0x3c]
push 0
or ebx, 8
lea ecx, [ebp - 0x15c]
push eax
mov dword [ebp - 0x168], ebx
call fcn.00413f72
mov byte [ebp - 0x161], 0
test eax, eax
jne 0x4192ba
mov byte [ebp - 0x161], 1
push 0x74
pop eax
mov dword [ebp - 4], eax
test bl, 8
je 0x4192d9
and ebx, 0xfffffff7
mov dword [ebp - 0x168], ebx
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x40]
call fcn.00404cc0
mov dword [ebp - 4], 0x6a
test bl, 4
je 0x4192fa
and ebx, 0xfffffffb
mov dword [ebp - 0x168], ebx
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x70]
call fcn.00404cc0
cmp byte [ebp - 0x161], 0
je 0x419307
mov byte [edi + 0x4e], 1
push 0
lea eax, [ebp - 0x161]
mov ebx, 0x4b6748
push eax
mov esi, 0x4b6750
mov dword [ebp - 0x70], ebx
push str.DotNetSPRequired
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x48], esi
call fcn.00407aa0
mov byte [ebp - 4], 0x7a
lea eax, [ebp - 0x161]
push 0
push eax
push str.Startup
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x18], esi
call fcn.00407aa0
mov byte [ebp - 4], 0x7c
lea eax, [ebp - 0x70]
push 0xa
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.004402a8
mov dword [edi + 0x50], eax
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0x40]
call fcn.00404cc0
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x70]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x160]
call fcn.00404cc0
xor eax, eax
inc eax
call fcn.00459b34
ret