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

Disassembly:
mov eax, 0x462a0e
call fcn.004341ac
sub esp, 0x1b8
push ebx
push esi
push edi
mov dword [ebp - 0x1c], ecx
call fcn.00401083
mov edi, eax
lea eax, [ebp - 0xd]
push 1
mov esi, 0x484ec0
push eax
push esi
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x14], edi
call fcn.00401a6d
mov eax, dword [eax + 8]
and dword [ebp - 4], 0
test eax, eax
mov ebx, 0x469558
je 0x4076a1
mov ebx, eax
lea eax, [ebp - 0x16]
push 1
push eax
push str.C:CodeBasesisdev_srcRuntimeMSISharedSetupdiskaction.cpp
lea ecx, [ebp - 0x140]
call fcn.00401a6d
mov eax, dword [eax + 8]
mov byte [ebp - 4], 1
test eax, eax
jne 0x4076c7
mov eax, 0x469558
mov dword [ebp - 0x24], eax
push ebx
lea eax, [ebp - 0x24]
push str.Reading_setup.ini_from__s
push eax
mov dword [ebp - 0x20], 0xcf
call fcn.004086b0
and byte [ebp - 4], 0
add esp, 0xc
lea ecx, [ebp - 0x140]
call fcn.00401306
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf0]
call fcn.00401306
push esi
lea ecx, [edi + 0x18]
call fcn.004027c6
lea eax, [ebp - 0x16]
push 0
mov esi, 0x483918
mov ebx, 0x46953c
mov edi, 0x469534
push eax
push esi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x54], edi
call fcn.004010c6
lea eax, [ebp - 0xd]
push 1
push eax
lea ecx, [ebp - 0xf0]
push dword [0x4695b0]
mov dword [ebp - 4], 2
call fcn.00401a6d
lea eax, [ebp - 0x15]
push 1
push eax
lea ecx, [ebp - 0x118]
push dword [0x4695ac]
mov byte [ebp - 4], 3
call fcn.00401a6d
lea eax, [ebp - 0x74]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x118]
push eax
push 5
mov byte [ebp - 4], 4
call fcn.00408647
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 3
call fcn.00401306
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 2
call fcn.00401306
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.00401306
lea eax, [ebp - 0x15]
push 0
push eax
push esi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x54], edi
call fcn.004010c6
lea eax, [ebp - 0x16]
push 1
push eax
lea ecx, [ebp - 0x118]
push dword [0x4695b8]
mov dword [ebp - 4], 5
call fcn.00401a6d
lea eax, [ebp - 0xd]
push 1
push eax
lea ecx, [ebp - 0xf0]
push dword [0x4695ac]
mov byte [ebp - 4], 6
call fcn.00401a6d
lea eax, [ebp - 0x74]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0xf0]
push eax
push 6
mov byte [ebp - 4], 7
call fcn.00408647
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 6
call fcn.00401306
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 5
call fcn.00401306
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.00401306
mov ecx, dword [ebp - 0x14]
push 6
call fcn.0040857f
test al, al
jne 0x4078e4
lea eax, [ebp - 0x15]
push 1
push eax
lea ecx, [ebp - 0xf0]
push dword [0x4695b8]
call fcn.00401a6d
mov eax, dword [eax + 8]
mov dword [ebp - 4], 8
test eax, eax
mov esi, 0x469558
je 0x407887
mov esi, eax
lea eax, [ebp - 0x16]
push 1
push eax
push str.C:CodeBasesisdev_srcRuntimeMSISharedSetupdiskaction.cpp
lea ecx, [ebp - 0x140]
call fcn.00401a6d
mov eax, dword [eax + 8]
mov byte [ebp - 4], 9
test eax, eax
jne 0x4078ad
mov eax, 0x469558
mov dword [ebp - 0x24], eax
push esi
lea eax, [ebp - 0x24]
push str.Failed_to_read_setup_package:__s_name_from_Setup.ini
push eax
mov dword [ebp - 0x20], 0xdf
call fcn.004086b0
add esp, 0xc
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 8
call fcn.00401306
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf0]
jmp 0x40793d
mov ecx, dword [ebp - 0x1c]
call fcn.00408777
test al, al
jne 0x407949
lea eax, [ebp - 0x15]
push 1
push eax
push str.C:CodeBasesisdev_srcRuntimeMSISharedSetupdiskaction.cpp
lea ecx, [ebp - 0x140]
call fcn.00401a6d
mov eax, dword [eax + 8]
mov dword [ebp - 4], 0xa
test eax, eax
jne 0x407919
mov eax, 0x469558
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push str.Failed_to_get_MSI_Engine_Version
push eax
mov dword [ebp - 0x20], 0xe7
call fcn.004086b0
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x140]
call fcn.00401306
xor eax, eax
jmp 0x408518
lea eax, [ebp - 0x15]
push 0
push eax
push esi
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0xf8], edi
call fcn.004010c6
lea eax, [ebp - 0x16]
push 1
push eax
lea ecx, [ebp - 0x140]
push dword [0x4695bc]
mov dword [ebp - 4], 0xb
call fcn.00401a6d
lea eax, [ebp - 0x76]
push 1
push eax
lea ecx, [ebp - 0xf0]
push dword [0x4695ac]
mov byte [ebp - 4], 0xc
call fcn.00401a6d
lea eax, [ebp - 0x118]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x1c4]
push eax
mov byte [ebp - 4], 0xd
call fcn.0042a644
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 0xe
push ecx
mov ecx, eax
call fcn.004089e7
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 0x13
call fcn.00401306
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x12
call fcn.00401306
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x11
call fcn.00401306
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x10
call fcn.00401306
xor eax, eax
cmp dword [ebp - 0x190], eax
jne 0x407a76
lea eax, [ebp - 0xd]
push 1
push eax
push str.C:CodeBasesisdev_srcRuntimeMSISharedSetupdiskaction.cpp
lea ecx, [ebp - 0xc8]
call fcn.00401a6d
mov eax, dword [eax + 8]
mov byte [ebp - 4], 0x14
test eax, eax
jne 0x407a46
mov eax, 0x469558
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push 0x47b35c
push eax
mov dword [ebp - 0x20], 0xf0
call fcn.004086b0
pop ecx
mov byte [ebp - 4], 0x10
pop ecx
lea ecx, [ebp - 0xc8]
call fcn.00401306
xor esi, esi
jmp 0x408507
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x40], eax
cmp dword [0x4863d0], eax
jne 0x407ab9
cmp dword [0x4863cc], eax
jne 0x407ab9
lea eax, [ebp - 0x19c]
lea ecx, [ebp - 0x198]
neg eax
sbb eax, eax
push 0x47b358
and eax, ecx
push eax
call fcn.00409bc3
pop ecx
test al, al
pop ecx
je 0x407ab9
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x40], 1
lea eax, [ebp - 0xd]
push 1
push eax
lea ecx, [ebp - 0x74]
push dword [0x4695c0]
call fcn.00401a6d
lea eax, [ebp - 0xe]
push 1
push eax
lea ecx, [ebp - 0x4c]
push dword [0x4695c4]
mov byte [ebp - 4], 0x15
call fcn.00401a6d
mov ecx, dword [ebp - 0x14]
push 0xa
lea eax, [ebp - 0x74]
push 0x1f40
push eax
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 0x16
call fcn.0042a7bc
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x15
mov dword [ecx + 0x48], eax
lea ecx, [ebp - 0x4c]
call fcn.00401306
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x10
call fcn.00401306
lea eax, [ebp - 0xe]
push 1
push eax
lea ecx, [ebp - 0x74]
push dword [0x4695d0]
call fcn.00401a6d
lea eax, [ebp - 0xd]
push 1
push eax
lea ecx, [ebp - 0x4c]
push dword [0x4695ac]
mov byte [ebp - 4], 0x17
call fcn.00401a6d
mov ecx, dword [ebp - 0x14]
push 0xa
lea eax, [ebp - 0x74]
push 1
push eax
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 0x18
call fcn.0042a7bc
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x17
call fcn.00401306
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x10
call fcn.00401306
push 1
pop ecx
cmp dword [ebp - 0x1c], ecx
jne 0x407b9f
xor eax, eax
cmp dword [0x4863d0], eax
jne 0x407b97
cmp dword [0x4863cc], eax
je 0x407ba7
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x38], ecx
jmp 0x407bad
push 2
pop eax
cmp dword [ebp - 0x1c], eax
je 0x407b97
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x38], eax
lea eax, [ebp - 0xe]
push 0
push eax
push esi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x54], edi
call fcn.004010c6
lea eax, [ebp - 0xd]
push 1
push eax
lea ecx, [ebp - 0xa0]
push dword [0x4695d8]
mov byte [ebp - 4], 0x19
call fcn.00401a6d
lea eax, [ebp - 0xf]
push 1
push eax
lea ecx, [ebp - 0x4c]
push dword [0x4695ac]
mov byte [ebp - 4], 0x1a
call fcn.00401a6d
lea eax, [ebp - 0x74]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x4c]
push eax
push 1
mov byte [ebp - 4], 0x1b
call fcn.00408647
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x1a
call fcn.00401306
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x19
call fcn.00401306
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x10
call fcn.00401306
lea eax, [ebp - 0xf]
push 0
push eax
push esi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x54], edi
call fcn.004010c6
lea eax, [ebp - 0xe]
push 1
push eax
lea ecx, [ebp - 0x4c]
push dword [0x4695d4]
mov byte [ebp - 4], 0x1c
call fcn.00401a6d
lea eax, [ebp - 0xd]
push 1
push eax
lea ecx, [ebp - 0xa0]
push dword [0x4695ac]
mov byte [ebp - 4], 0x1d
call fcn.00401a6d
lea eax, [ebp - 0x74]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0xa0]
push eax
push 2
mov byte [ebp - 4], 0x1e
call fcn.00408647
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xa0]
call fcn.00401306
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x1c
call fcn.00401306
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x10
call fcn.00401306
lea eax, [ebp - 0xf]
push 0
push eax
push esi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x54], edi
call fcn.004010c6
lea eax, [ebp - 0xe]
push 1
push eax
lea ecx, [ebp - 0x4c]
push dword [0x4695e0]
mov byte [ebp - 4], 0x1f
call fcn.00401a6d
lea eax, [ebp - 0xd]
push 1
push eax
lea ecx, [ebp - 0xa0]
push dword [0x4695ac]
mov byte [ebp - 4], 0x20
call fcn.00401a6d
lea eax, [ebp - 0x74]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0xa0]
push eax
push 3
mov byte [ebp - 4], 0x21
call fcn.00408647
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x20
call fcn.00401306
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x1f
call fcn.00401306
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x10
call fcn.00401306
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0xc8]
push 8
push eax
call fcn.004085a4
cmp dword [eax + 0xc], 0
lea ecx, [ebp - 0xc8]
sete byte [ebp - 0xd]
call fcn.004020a2
cmp byte [ebp - 0xd], 0
je 0x407f05
lea eax, [ebp - 0xf]
push 0
push eax
push esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x2c], edi
call fcn.004010c6
lea eax, [ebp - 0xe]
push 1
push eax
lea ecx, [ebp - 0xc8]
push dword [0x4695c8]
mov byte [ebp - 4], 0x22
call fcn.00401a6d
lea eax, [ebp - 0xd]
push 1
push eax
lea ecx, [ebp - 0xa0]
push dword [0x4695ac]
mov byte [ebp - 4], 0x23
call fcn.00401a6d
lea eax, [ebp - 0x4c]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xa0]
push eax
push 8
mov byte [ebp - 4], 0x24
call fcn.00408647
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x23
call fcn.00401306
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x22
call fcn.00401306
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x10
call fcn.00401306
lea eax, [ebp - 0xf]
push 0
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], 0x469580
mov dword [ebp - 0x54], 0x469578
call fcn.00402c39
lea eax, [ebp - 0x174]
push 0x400
push eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x25
call fcn.004025f2
mov dword [ebp - 0x1c], eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0x26
call fcn.0040316b
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
push 8
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0xc8]
push eax
call fcn.004085a4
push 0x400
mov ecx, eax
push dword [ebp - 0x20]
mov byte [ebp - 4], 0x27
call fcn.0040316b
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xc8]
call fcn.004020a2
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x25
call fcn.00402704
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x74]
push 0
push eax
push 8
call fcn.00408527
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x14], 5
je 0x407ef9
lea eax, [ebp - 0xc8]
push 8
push eax
call fcn.004085a4
push 1
mov ecx, eax
mov byte [ebp - 4], 0x28
call fcn.0040316b
mov ecx, dword [ebp - 0x14]
push eax
push 0x47b354
call fcn.004299c4
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x25
call fcn.004020a2
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x10
call fcn.004020a2
mov eax, 0x47b350
mov dword [ebp - 0x4c], ebx
mov ecx, eax
mov dword [ebp - 0x2c], edi
test ecx, ecx
jne 0x407f18
mov eax, esi
lea ecx, [ebp - 0xf]
push 0
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.004010c6
lea eax, [ebp - 0xe]
push 1
push eax
lea ecx, [ebp - 0xa0]
push dword [0x4695ec]
mov byte [ebp - 4], 0x29
call fcn.00401a6d
lea eax, [ebp - 0xd]
push 1
push eax
lea ecx, [ebp - 0xc8]
push dword [0x4695ac]
mov byte [ebp - 4], 0x2a
call fcn.00401a6d
lea eax, [ebp - 0x4c]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xc8]
push eax
push 0x17
mov byte [ebp - 4], 0x2b
call fcn.00408647
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x2a
call fcn.00401306
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x29
call fcn.00401306
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x10
call fcn.00401306
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x14], 0
jne 0x408024
lea eax, [ebp - 0xf]
push 1
push eax
lea ecx, [ebp - 0xa0]
push dword [0x4695cc]
call fcn.00401a6d
lea eax, [ebp - 0xe]
push 1
push eax
lea ecx, [ebp - 0xc8]
push dword [0x4695ac]
mov byte [ebp - 4], 0x2c
call fcn.00401a6d
mov ecx, dword [ebp - 0x14]
push 0xa
lea eax, [ebp - 0xa0]
push 0
push eax
lea eax, [ebp - 0xc8]
push eax
mov byte [ebp - 4], 0x2d
call fcn.0042a7bc
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x2c
mov dword [ecx + 0x14], eax
lea ecx, [ebp - 0xc8]
call fcn.00401306
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x10
call fcn.00401306
lea eax, [ebp - 0xf]
push 0
push eax
push esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x2c], edi
call fcn.004010c6
lea eax, [ebp - 0xe]
push 1
push eax
lea ecx, [ebp - 0xa0]
push dword [0x4695dc]
mov byte [ebp - 4], 0x2e
call fcn.00401a6d
lea eax, [ebp - 0xd]
push 1
push eax
lea ecx, [ebp - 0xc8]
push dword [0x4695ac]
mov byte [ebp - 4], 0x2f
call fcn.00401a6d
lea eax, [ebp - 0x4c]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xc8]
push eax
push 0xe
mov byte [ebp - 4], 0x30
call fcn.00408647
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x2f
call fcn.00401306
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x2e
call fcn.00401306
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x10
call fcn.00401306
lea eax, [ebp - 0xf]
push 0
push eax
push esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x2c], edi
call fcn.004010c6
lea eax, [ebp - 0xe]
push 1
push eax
push 0x47b340
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x31
call fcn.00401a6d
lea eax, [ebp - 0xd]
push 1
push eax
lea ecx, [ebp - 0xc8]
push dword [0x4695ac]
mov byte [ebp - 4], 0x32
call fcn.00401a6d
lea eax, [ebp - 0x4c]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xc8]
push eax
push 0xf
mov byte [ebp - 4], 0x33
call fcn.00408647
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0xc8]
call fcn.00401306
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x31
call fcn.00401306
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x10
call fcn.00401306
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x168]
push 0xf
push eax
call fcn.004085a4
cmp dword [ebp - 0x15c], 3
mov byte [ebp - 4], 0x34
jbe 0x4083cd
mov eax, 0x47b338
mov dword [ebp - 0x4c], 0x469580
mov ecx, eax
mov dword [ebp - 0x2c], 0x469578
test ecx, ecx
jne 0x40818a
mov eax, esi
lea ecx, [ebp - 0xf]
push 0
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00403fe2
lea eax, [ebp - 0x4c]
push 0
push eax
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x35
call fcn.004025bd
neg eax
sbb al, al
lea ecx, [ebp - 0x4c]
inc al
mov byte [ebp - 4], 0x34
mov byte [ebp - 0xd], al
call fcn.004020a2
cmp byte [ebp - 0xd], 0
je 0x4081d5
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x58], 1
jmp 0x40835a
mov eax, 0x47b330
mov dword [ebp - 0x74], 0x469580
mov ecx, eax
mov dword [ebp - 0x54], 0x469578
test ecx, ecx
jne 0x4081f0
mov eax, esi
lea ecx, [ebp - 0xf]
push 0
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.00403fe2
lea eax, [ebp - 0x74]
push 0
push eax
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x36
call fcn.004025bd
test eax, eax
je 0x408278
mov eax, str.v1.1
mov dword [ebp - 0x4c], 0x469580
mov ecx, eax
mov dword [ebp - 0x2c], 0x469578
test ecx, ecx
jne 0x408233
mov eax, esi
lea ecx, [ebp - 0xe]
push 0
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00403fe2
lea eax, [ebp - 0x4c]
push 0
push eax
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x37
call fcn.004025bd
neg eax
sbb al, al
lea ecx, [ebp - 0x4c]
inc al
mov byte [ebp - 4], 0x36
mov byte [ebp - 0xd], al
call fcn.004020a2
cmp byte [ebp - 0xd], 0
jne 0x408278
and byte [ebp - 0xd], 0
jmp 0x40827c
mov byte [ebp - 0xd], 1
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x34
call fcn.004020a2
cmp byte [ebp - 0xd], 0
je 0x40829a
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x59], 1
jmp 0x40835a
mov eax, 0x47b31c
mov dword [ebp - 0x74], 0x469580
mov ecx, eax
mov dword [ebp - 0x54], 0x469578
test ecx, ecx
jne 0x4082b5
mov eax, esi
lea ecx, [ebp - 0xf]
push 0
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.00403fe2
lea eax, [ebp - 0x74]
push 0
push eax
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x38
call fcn.004025bd
test eax, eax
je 0x40833d
mov eax, str.v2.0
mov dword [ebp - 0x4c], 0x469580
mov ecx, eax
mov dword [ebp - 0x2c], 0x469578
test ecx, ecx
jne 0x4082f8
mov eax, esi
lea ecx, [ebp - 0xe]
push 0
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00403fe2
lea eax, [ebp - 0x4c]
push 0
push eax
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x39
call fcn.004025bd
neg eax
sbb al, al
lea ecx, [ebp - 0x4c]
inc al
mov byte [ebp - 4], 0x38
mov byte [ebp - 0xd], al
call fcn.004020a2
cmp byte [ebp - 0xd], 0
jne 0x40833d
and byte [ebp - 0xd], 0
jmp 0x408341
mov byte [ebp - 0xd], 1
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x34
call fcn.004020a2
cmp byte [ebp - 0xd], 0
je 0x40835a
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x5a], 1
lea eax, [ebp - 0xf]
push 1
push eax
push str.DotNetSPRequired
lea ecx, [ebp - 0xa0]
call fcn.00401a6d
lea eax, [ebp - 0xe]
push 1
push eax
lea ecx, [ebp - 0xc8]
push dword [0x4695ac]
mov byte [ebp - 4], 0x3a
call fcn.00401a6d
mov ecx, dword [ebp - 0x14]
push 0xa
lea eax, [ebp - 0xa0]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0xc8]
push eax
mov byte [ebp - 4], 0x3b
call fcn.0042a7bc
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x3a
mov dword [ecx + 0x5c], eax
lea ecx, [ebp - 0xc8]
call fcn.00401306
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x34
call fcn.00401306
lea eax, [ebp - 0xf]
push 0
push eax
push esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x2c], edi
call fcn.004010c6
lea eax, [ebp - 0xe]
push 1
push eax
lea ecx, [ebp - 0xa0]
push dword [0x4695e4]
mov byte [ebp - 4], 0x3c
call fcn.00401a6d
lea eax, [ebp - 0xd]
push 1
push eax
lea ecx, [ebp - 0xc8]
push dword [0x4695c4]
mov byte [ebp - 4], 0x3d
call fcn.00401a6d
lea eax, [ebp - 0x4c]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xc8]
push eax
push 0x11
mov byte [ebp - 4], 0x3e
call fcn.00408647
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x3d
call fcn.00401306
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x3c
call fcn.00401306
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x34
call fcn.00401306
lea eax, [ebp - 0xf]
push 0
push eax
push esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x2c], edi
call fcn.004010c6
push 1
lea eax, [ebp - 0xe]
pop esi
lea ecx, [ebp - 0xa0]
push esi
push eax
push dword [0x4695e8]
mov byte [ebp - 4], 0x3f
call fcn.00401a6d
lea eax, [ebp - 0x75]
push esi
push eax
lea ecx, [ebp - 0xc8]
push dword [0x4695ac]
mov byte [ebp - 4], 0x40
call fcn.00401a6d
lea eax, [ebp - 0x4c]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xc8]
push eax
push 0x16
mov byte [ebp - 4], 0x41
call fcn.00408647
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x40
call fcn.00401306
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x3f
call fcn.00401306
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x34
call fcn.00401306
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x10
call fcn.004020a2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x19c]
call fcn.004020a2
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret