Function at 0x4456e0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47a70e
mov eax, dword fs:[0]
push eax
sub esp, 0x28c
push ebx
push esi
push edi
mov eax, dword [0x4ae44c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x154], edi
mov dword [ebp - 4], 2
push 0x482e5c
lea ecx, [ebp - 0x38]
call dword [0x4824d0]
mov byte [ebp - 4], 3
push str.Product
lea ecx, [ebp - 0x3c]
call dword [0x4824d0]
mov byte [ebp - 4], 4
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
push eax
push ecx
push edx
mov edx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x3c]
push ecx
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp + 0x20], esp
cmp eax, edi
je 0x445771
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 5
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x1c], esp
cmp eax, edi
je 0x44578f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov edi, dword [ebp + 8]
push edi
mov byte [ebp - 4], 4
mov ecx, esi
call fcn.0043f100
mov dword [ebp - 0x154], 1
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x3c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x38]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Name
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 7
mov ebx, dword [ebp + 0x14]
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, ebx
call fcn.00404d00
mov byte [ebp - 4], 8
push eax
mov eax, dword [edi]
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x445805
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 9
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x445823
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 8
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 7
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Version
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0xb
push 1
push 0
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, ebx
call fcn.00404d80
mov byte [ebp - 4], 0xc
push eax
mov eax, dword [edi]
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x44588c
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xd
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x4458aa
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xc
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Language
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0xf
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, ebx
call fcn.0040ada0
mov byte [ebp - 4], 0x10
push eax
mov eax, dword [edi]
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x44590f
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x11
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44592d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0x10
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xf
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0x24
mov ecx, ebx
call fcn.0045fe90
test al, al
je 0x4459ec
push str.Platform64Bit
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x13
push 1
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x14
push eax
mov eax, dword [edi]
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x4459a5
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x15
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x4459c3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 0x14
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x13
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0x27
mov ecx, ebx
call fcn.0045fe90
test al, al
jne 0x445a82
push str.Supports64Bit
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x17
push 0
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x18
push eax
mov eax, dword [edi]
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x445a3b
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x19
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x445a59
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1a
mov byte [ebp - 4], 0x18
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x17
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0
lea ecx, [ebp - 0xb8]
push ecx
mov ecx, ebx
call fcn.0045dc10
mov byte [ebp - 4], 0x1b
push 0x482e5c
lea ecx, [ebp - 0xb8]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
je 0x445b18
push str.CdName
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x1c
lea edx, [ebp - 0xb8]
push edx
lea eax, [ebp + 0x20]
push eax
mov eax, dword [edi]
push ecx
mov ecx, esp
mov dword [ebp + 0x1c], esp
mov dword [ecx], eax
test eax, eax
je 0x445ade
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x1d
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x18], esp
test eax, eax
je 0x445afc
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1e
mov byte [ebp - 4], 0x1c
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0xc4]
push ecx
mov ecx, ebx
call fcn.004353b0
mov byte [ebp - 4], 0x1f
push 0x482e5c
lea ecx, [ebp - 0xc4]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
je 0x445bac
push str.ExternalName
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x20
lea edx, [ebp - 0xc4]
push edx
lea eax, [ebp + 0x20]
push eax
mov eax, dword [edi]
push ecx
mov ecx, esp
mov dword [ebp + 0x1c], esp
mov dword [ecx], eax
test eax, eax
je 0x445b72
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x21
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x18], esp
test eax, eax
je 0x445b90
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x22
mov byte [ebp - 4], 0x20
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov al, byte [ebx + 0x28]
test al, al
jne 0x445c3c
push str.ProductSelection
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x23
push 0
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x24
push eax
mov eax, dword [edi]
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x445bf5
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x25
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x445c13
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x26
mov byte [ebp - 4], 0x24
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x23
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov al, byte [ebx + 0x29]
test al, al
jne 0x445ccc
push str.FeatureSelection
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x27
push 0
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x28
push eax
mov eax, dword [edi]
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x445c85
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x29
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x445ca3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2a
mov byte [ebp - 4], 0x28
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x27
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.VersionOf
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x2b
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, ebx
call fcn.00408960
mov byte [ebp - 4], 0x2c
push eax
mov eax, dword [edi]
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x445d08
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x2d
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x445d26
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2e
mov byte [ebp - 4], 0x2c
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.MultipleVersionSupport
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x2f
push 0x17
mov ecx, ebx
call fcn.0045fe90
movzx ecx, al
push ecx
lea edx, [ebp + 0x1c]
push edx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x30
push eax
lea eax, [ebp + 0x20]
push eax
mov eax, dword [edi]
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x445d98
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x31
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x445db6
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x32
mov byte [ebp - 4], 0x30
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x2f
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov ecx, ebx
call fcn.00460900
test al, al
je 0x445e7e
push str.RegVisibleIfInstalled
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x33
push 0x1f
mov ecx, ebx
call fcn.0045fe90
movzx ecx, al
push ecx
lea edx, [ebp + 0x1c]
push edx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x34
push eax
lea eax, [ebp + 0x20]
push eax
mov eax, dword [edi]
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x445e37
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x35
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x445e55
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x36
mov byte [ebp - 4], 0x34
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x33
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0x26
mov ecx, ebx
call fcn.0045fe90
test al, al
je 0x445f14
push str.NoAppCompatCheckOn64Bit
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x37
push 1
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x38
push eax
mov eax, dword [edi]
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x445ecd
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x39
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x445eeb
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3a
mov byte [ebp - 4], 0x38
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x37
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Required
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x3b
push 0
push 0
push 1
mov ecx, ebx
call fcn.00463530
movzx ecx, al
push ecx
lea edx, [ebp + 0x1c]
push edx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x3c
push eax
lea eax, [ebp + 0x20]
push eax
mov eax, dword [edi]
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x445f61
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x3d
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x445f7f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3e
mov byte [ebp - 4], 0x3c
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x3b
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Optional
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x3f
mov cl, byte [ebx + 0x304]
mov byte [ebp + 0x1c], cl
mov edx, dword [ebp + 0x1c]
push edx
lea eax, [ebp + 0x18]
push eax
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x40
push eax
mov eax, dword [edi]
lea ecx, [ebp + 0x20]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x1c], esp
mov dword [ecx], eax
test eax, eax
je 0x445ff1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x41
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44600f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x42
mov byte [ebp - 4], 0x40
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x3f
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Protected
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x43
push 0x15
mov ecx, ebx
call fcn.0045fe90
movzx ecx, al
push ecx
lea edx, [ebp + 0x1c]
push edx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x44
push eax
lea eax, [ebp + 0x20]
push eax
mov eax, dword [edi]
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x446081
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x45
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44609f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x46
mov byte [ebp - 4], 0x44
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x43
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Visible
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x47
mov cl, byte [ebx + 0x19]
mov byte [ebp + 0x1c], cl
mov edx, dword [ebp + 0x1c]
push edx
lea eax, [ebp + 0x18]
push eax
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x48
push eax
mov eax, dword [edi]
lea ecx, [ebp + 0x20]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x1c], esp
mov dword [ecx], eax
test eax, eax
je 0x44610e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x49
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44612c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4a
mov byte [ebp - 4], 0x48
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x47
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0x48c87c
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x4b
mov cl, byte [ebx + 0x18]
mov byte [ebp + 0x1c], cl
mov edx, dword [ebp + 0x1c]
push edx
lea eax, [ebp + 0x18]
push eax
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x4c
push eax
mov eax, dword [edi]
lea ecx, [ebp + 0x20]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x1c], esp
mov dword [ecx], eax
test eax, eax
je 0x44619b
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4d
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x4461b9
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4e
mov byte [ebp - 4], 0x4c
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x4b
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Checked
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x4f
push 1
mov ecx, ebx
call fcn.0045fe90
movzx ecx, al
push ecx
lea edx, [ebp + 0x1c]
push edx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x50
push eax
lea eax, [ebp + 0x20]
push eax
mov eax, dword [edi]
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x44622b
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x51
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x446249
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x52
mov byte [ebp - 4], 0x50
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.ProductCode
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x53
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, ebx
call fcn.0040ae60
mov byte [ebp - 4], 0x54
push eax
mov eax, dword [edi]
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x4462ae
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x55
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x4462cc
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x56
mov byte [ebp - 4], 0x54
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x53
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.UpgradeCode
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x57
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, ebx
call fcn.0040ae00
mov byte [ebp - 4], 0x58
push eax
mov eax, dword [edi]
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x446331
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x59
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44634f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5a
mov byte [ebp - 4], 0x58
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x57
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0xd
mov ecx, ebx
call fcn.0045fe90
test al, al
je 0x44640e
push str.Critical
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x5b
push 1
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x5c
push eax
mov eax, dword [edi]
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x4463c7
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x5d
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x4463e5
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5e
mov byte [ebp - 4], 0x5c
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x5b
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0xa
mov ecx, ebx
call fcn.0045fe90
test al, al
je 0x4464de
mov edx, dword [ebx]
mov eax, dword [edx + 0x14]
mov ecx, ebx
call eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
test edx, edx
jl 0x4464de
jg 0x446440
test eax, eax
jbe 0x4464de
lea ecx, [ebp + 0x20]
call dword [0x4824e8]
mov byte [ebp - 4], 0x5f
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
push ecx
push edx
lea eax, [ebp + 0x20]
push 0x485770
push eax
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add esp, 0x10
push str.Size
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x60
mov edi, dword [edi]
lea ecx, [ebp + 0x20]
push ecx
lea edx, [ebp + 0x1c]
push edx
push ecx
mov eax, esp
mov dword [ebp + 0x18], esp
mov dword [eax], edi
test edi, edi
je 0x446497
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0x61
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x4464b5
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x62
mov byte [ebp - 4], 0x60
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x5f
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
inc dword [esi + 0x28]
push 1
push 0
lea eax, [ebp + 0x20]
push eax
mov ecx, ebx
call fcn.00404d80
mov byte [ebp - 4], 0x63
mov ecx, eax
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::IsEmpty]
test al, al
sete bl
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
test bl, bl
je 0x4468c4
xor edi, edi
mov dword [ebp + 0x18], edi
mov byte [ebp - 4], 0x64
push 0x482e5c
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x65
push str.VersionDisplayInfo
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x66
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push edi
push edi
push edi
lea ecx, [ebp + 0x1c]
push ecx
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
test eax, eax
je 0x446567
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x67
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x446585
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x68
lea ecx, [ebp - 0x68]
push ecx
mov byte [ebp - 4], 0x66
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0x69
mov eax, dword [eax]
test eax, eax
je 0x4465af
mov edi, eax
mov dword [ebp + 0x18], edi
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x66
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x4465c2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x65
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x64
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov ebx, dword [ebp + 0x14]
push 0x1a
mov ecx, ebx
call fcn.0045fe90
push 0x1b
mov ecx, ebx
mov byte [ebp + 0x1c], al
call fcn.0045fe90
push 0x1c
mov ecx, ebx
mov byte [ebp - 0x64], al
call fcn.0045fe90
push 0x1d
mov ecx, ebx
mov byte [ebp - 0x5c], al
call fcn.0045fe90
push 0x1e
mov ecx, ebx
mov byte [ebp - 0x60], al
call fcn.0045fe90
push str.ShowMajor
lea ecx, [ebp + 0x20]
mov byte [ebp - 0x4c], al
call dword [0x4824d0]
mov byte [ebp - 4], 0x6a
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x68]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x6b
push eax
lea edx, [ebp + 0x20]
push edx
push ecx
mov eax, esp
mov dword [ebp + 0x1c], esp
mov dword [eax], edi
test edi, edi
je 0x446659
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0x6c
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x446677
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x6d
mov byte [ebp - 4], 0x6b
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x68]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x64
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.ShowMinor
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x6e
mov eax, dword [ebp - 0x64]
push eax
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x6f
push eax
lea edx, [ebp + 0x20]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x4466de
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0x70
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x4466fc
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x71
mov byte [ebp - 4], 0x6f
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x6e
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x64
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.ShowBuild
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x72
mov eax, dword [ebp - 0x5c]
push eax
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x73
push eax
lea edx, [ebp + 0x20]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x446763
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0x74
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x446781
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x75
mov byte [ebp - 4], 0x73
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x72
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x64
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.ShowUpdate
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x76
mov eax, dword [ebp - 0x60]
push eax
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x77
push eax
lea edx, [ebp + 0x20]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x4467e8
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0x78
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x446806
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x79
mov byte [ebp - 4], 0x77
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x76
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x64
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.ShowExtra
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x7a
mov eax, dword [ebp - 0x4c]
push eax
lea ecx, [ebp + 0x1c]
push ecx
mov ecx, esi
call fcn.00434620
mov bl, 0x7b
mov byte [ebp - 4], bl
push eax
lea edx, [ebp + 0x20]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x44686e
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0x7c
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x44688c
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x7d
mov byte [ebp - 4], bl
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x7a
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x64
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
test edi, edi
je 0x4468c4
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
lea ecx, [ebp - 0x220]
call fcn.0041fe90
mov byte [ebp - 4], 0x7e
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x220]
push edx
call fcn.0045e5f0
lea ecx, [ebp - 0xe4]
call dword [0x4824e8]
mov byte [ebp - 4], 0x7f
mov eax, dword [ebp - 0x218]
xor edi, edi
test eax, eax
jle 0x4469c0
mov ebx, dword [ebp + 8]
test edi, edi
js 0x447511
cmp edi, eax
jge 0x447511
mov eax, dword [ebp - 0x21c]
lea eax, [eax + edi*4]
push eax
lea ecx, [ebp - 0xe4]
call dword [0x4824d8]
push str.MsiProductName
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x80
mov eax, dword [ebx]
push 0
push 0
push 0
lea ecx, [ebp - 0xe4]
push ecx
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x446964
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x81
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x446982
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x82
lea ecx, [ebp + 0x1c]
push ecx
mov byte [ebp - 4], 0x80
mov ecx, esi
call fcn.0043f100
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x4469a4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0x7f
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x218]
inc edi
cmp edi, eax
jl 0x446905
lea ecx, [ebp - 0x1f8]
call fcn.0041fe90
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x1f8]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.0045e6d0
lea ecx, [ebp - 0xe8]
call dword [0x4824e8]
mov byte [ebp - 4], 0x84
mov eax, dword [ebp - 0x1f0]
xor edi, edi
test eax, eax
jle 0x446abc
mov bl, 0x85
test edi, edi
js 0x447511
cmp edi, eax
jge 0x447511
mov edx, dword [ebp - 0x1f4]
lea eax, [edx + edi*4]
push eax
lea ecx, [ebp - 0xe8]
call dword [0x4824d8]
push str.AltUpgradeCode
lea ecx, [ebp + 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], bl
mov edx, dword [ebp + 8]
push 0
push 0
push 0
lea eax, [ebp - 0xe8]
push eax
mov eax, dword [edx]
lea ecx, [ebp + 0x20]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x446a61
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x86
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x446a7f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x87
lea ecx, [ebp + 0x1c]
push ecx
mov byte [ebp - 4], bl
mov ecx, esi
call fcn.0043f100
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x446aa0
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0x84
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x1f0]
inc edi
cmp edi, eax
jl 0x446a00
lea ecx, [ebp - 0x1d0]
call fcn.0041fd30
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0x1d0]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.0045e590
xor edi, edi
mov dword [ebp - 0x68], edi
mov byte [ebp - 4], 0x89
mov eax, dword [ebp - 0x1c8]
mov dword [ebp + 0x20], edi
cmp eax, edi
jle 0x446f32
mov ecx, dword [ebp + 0x20]
test ecx, ecx
js 0x447511
cmp ecx, eax
jge 0x447511
mov edx, dword [ebp - 0x1cc]
mov eax, ecx
mov ebx, dword [edx + eax*4]
push 0x482e5c
lea ecx, [ebp - 0x3c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x8a
push str.UpgradeCandidate
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0x8b
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0
push 0
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp + 0x18]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x1c], esp
mov dword [ecx], eax
test eax, eax
je 0x446b5d
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x8c
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x446b7b
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x8d
lea ecx, [ebp - 0x64]
push ecx
mov byte [ebp - 4], 0x8b
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0x8e
mov eax, dword [eax]
cmp edi, eax
je 0x446bbd
mov dword [ebp + 0x1c], edi
mov edi, eax
mov dword [ebp - 0x68], edi
test eax, eax
je 0x446bac
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp + 0x1c], 0
je 0x446bbd
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x8b
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x446bd0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x8a
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x3c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.UpgradeCode
lea ecx, [ebp - 0x38]
call dword [0x4824d0]
mov byte [ebp - 4], 0x8f
push ebx
lea eax, [ebp - 0x38]
push eax
push ecx
mov eax, esp
mov dword [ebp + 0x1c], esp
mov dword [eax], edi
test edi, edi
je 0x446c15
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov byte [ebp - 4], 0x90
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x446c33
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x91
mov byte [ebp - 4], 0x8f
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x38]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
cmp dword [ebx + 4], 0
je 0x446ce3
push str.MinVersion
lea ecx, [ebp - 0x40]
call dword [0x4824d0]
mov byte [ebp - 4], 0x92
push 1
push 1
push 1
push 1
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, dword [ebx + 4]
call fcn.00464260
mov byte [ebp - 4], 0x93
push eax
lea edx, [ebp - 0x40]
push edx
push ecx
mov eax, esp
mov dword [ebp + 0x1c], esp
mov dword [eax], edi
test edi, edi
je 0x446c9c
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0x94
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x446cba
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x95
mov byte [ebp - 4], 0x93
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x92
lea ecx, [ebp - 0x5c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x40]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
cmp dword [ebx + 8], 0
je 0x446d77
push str.MaxVersion
lea ecx, [ebp - 0x58]
call dword [0x4824d0]
mov byte [ebp - 4], 0x96
mov ecx, dword [ebx + 8]
push 1
push 1
push 1
push 1
lea eax, [ebp - 0x60]
push eax
call fcn.00464260
mov byte [ebp - 4], 0x97
push eax
lea ecx, [ebp - 0x58]
push ecx
push ecx
mov eax, esp
mov dword [ebp + 0x1c], esp
mov dword [eax], edi
test edi, edi
je 0x446d30
mov edx, dword [edi]
mov eax, dword [edx + 4]
push edi
call eax
mov byte [ebp - 4], 0x98
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x446d4e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x99
mov byte [ebp - 4], 0x97
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x96
lea ecx, [ebp - 0x60]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x58]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
cmp dword [ebx + 4], 0
je 0x446e07
push str.MinVersionInclusive
lea ecx, [ebp - 0x48]
call dword [0x4824d0]
mov byte [ebp - 4], 0x9a
movzx ecx, byte [ebx + 0xc]
push ecx
lea edx, [ebp - 0x4c]
push edx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x9b
push eax
lea eax, [ebp - 0x48]
push eax
push ecx
mov eax, esp
mov dword [ebp + 0x1c], esp
mov dword [eax], edi
test edi, edi
je 0x446dc0
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov byte [ebp - 4], 0x9c
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x446dde
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9d
mov byte [ebp - 4], 0x9b
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x9a
lea ecx, [ebp - 0x4c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x48]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
cmp dword [ebx + 8], 0
je 0x446e97
push str.MaxVersionInclusive
lea ecx, [ebp - 0x2c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x9e
movzx ecx, byte [ebx + 0xd]
push ecx
lea edx, [ebp - 0x54]
push edx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x9f
push eax
lea eax, [ebp - 0x2c]
push eax
push ecx
mov eax, esp
mov dword [ebp + 0x1c], esp
mov dword [eax], edi
test edi, edi
je 0x446e50
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov byte [ebp - 4], 0xa0
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x446e6e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa1
mov byte [ebp - 4], 0x9f
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x9e
lea ecx, [ebp - 0x54]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x2c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.OnlyDetect
lea ecx, [ebp - 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xa2
movzx ecx, byte [ebx + 0xe]
push ecx
lea edx, [ebp - 0x6c]
push edx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0xa3
push eax
lea eax, [ebp - 0x1c]
push eax
push ecx
mov eax, esp
mov dword [ebp + 0x1c], esp
mov dword [eax], edi
test edi, edi
je 0x446ed6
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov byte [ebp - 4], 0xa4
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x446ef4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa5
mov byte [ebp - 4], 0xa3
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xa2
lea ecx, [ebp - 0x6c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x1c8]
inc ecx
mov dword [ebp + 0x20], ecx
cmp ecx, eax
jl 0x446af4
lea ecx, [ebp - 0x234]
call fcn.0041fe90
mov byte [ebp - 4], 0xa6
lea ecx, [ebp - 0x234]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.0045e5b0
lea ecx, [ebp - 0xe0]
call dword [0x4824e8]
mov byte [ebp - 4], 0xa7
xor ebx, ebx
mov dword [ebp - 0x64], ebx
mov byte [ebp - 4], 0xa8
mov eax, dword [ebp - 0x22c]
xor edi, edi
test eax, eax
jle 0x4470f8
lea esp, [esp]
test edi, edi
js 0x447511
cmp edi, eax
jge 0x447511
mov edx, dword [ebp - 0x230]
lea eax, [edx + edi*4]
push eax
lea ecx, [ebp - 0xe0]
call dword [0x4824d8]
push 0x482e5c
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0xa9
push str.Activation
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xaa
mov edx, dword [ebp + 8]
push 0
push 0
push 0
lea eax, [ebp + 0x18]
push eax
mov eax, dword [edx]
lea ecx, [ebp + 0x1c]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x20], esp
mov dword [ecx], eax
test eax, eax
je 0x446ff1
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xab
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44700f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xac
lea ecx, [ebp - 0x5c]
push ecx
mov byte [ebp - 4], 0xaa
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0xad
mov eax, dword [eax]
cmp ebx, eax
je 0x447051
mov dword [ebp + 0x20], ebx
mov ebx, eax
mov dword [ebp - 0x64], ebx
test eax, eax
je 0x447040
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp + 0x20], 0
je 0x447051
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0xaa
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x447064
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0xa9
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xa8
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Name
lea ecx, [ebp - 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xae
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0x1c]
push ecx
push ecx
mov eax, esp
mov dword [ebp + 0x20], esp
mov dword [eax], ebx
test ebx, ebx
je 0x4470af
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push ebx
call eax
mov byte [ebp - 4], 0xaf
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x4470cd
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb0
mov byte [ebp - 4], 0xae
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xa8
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x22c]
inc edi
cmp edi, eax
jl 0x446f80
lea ecx, [ebp - 0x25c]
call fcn.0041fd80
mov byte [ebp - 4], 0xb1
lea ecx, [ebp - 0x25c]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.0045fbc0
lea ecx, [ebp - 0xbc]
call dword [0x4824e8]
mov byte [ebp - 4], 0xb2
lea ecx, [ebp - 0xd4]
call dword [0x4824e8]
mov byte [ebp - 4], 0xb3
xor ebx, ebx
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 4], 0xb4
mov eax, dword [ebp - 0x254]
mov dword [ebp + 0x20], ebx
cmp eax, ebx
jle 0x447385
mov ecx, dword [ebp + 0x20]
test ecx, ecx
js 0x447511
cmp ecx, eax
jge 0x447511
mov edx, dword [ebp - 0x258]
mov edi, dword [edx + ecx*4]
cmp dword [edi + 8], 1
jne 0x447376
lea edx, [ebp - 0x60]
push edx
mov ecx, edi
call fcn.00417a30
mov byte [ebp - 4], 0xb5
push eax
lea ecx, [ebp - 0xbc]
call dword [0x4824d8]
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0x60]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea eax, [ebp - 0x4c]
push eax
mov ecx, edi
call fcn.004206b0
mov byte [ebp - 4], 0xb6
push eax
lea ecx, [ebp - 0xd4]
call dword [0x4824d8]
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0x4c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0x482e5c
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0xb7
push str.Plugin
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xb8
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0
push 0
lea ecx, [ebp + 0x18]
push ecx
lea edx, [ebp + 0x1c]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
test eax, eax
je 0x447213
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xb9
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447231
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xba
lea ecx, [ebp - 0x54]
push ecx
mov byte [ebp - 4], 0xb8
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0xbb
mov eax, dword [eax]
cmp ebx, eax
je 0x44726d
mov edi, ebx
mov ebx, eax
mov dword [ebp - 0x5c], ebx
test eax, eax
je 0x447261
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
je 0x44726d
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edi
call edx
mov byte [ebp - 4], 0xb8
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x447280
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0xb7
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xb4
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Name
lea ecx, [ebp - 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xbc
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x1c]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x4472cb
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push ebx
call eax
mov byte [ebp - 4], 0xbd
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x4472e9
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xbe
mov byte [ebp - 4], 0xbc
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Path
lea ecx, [ebp - 0x2c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xbf
lea ecx, [ebp - 0xd4]
push ecx
lea edx, [ebp - 0x2c]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x447336
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov byte [ebp - 4], 0xc0
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447354
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xc1
mov byte [ebp - 4], 0xbf
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0x2c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp + 0x20]
inc ecx
mov dword [ebp + 0x20], ecx
cmp ecx, eax
jl 0x447150
lea ecx, [ebp - 0xb4]
call fcn.004528b0
mov byte [ebp - 4], 0xc2
lea ecx, [ebp - 0x20c]
call fcn.00434e70
mov byte [ebp - 4], 0xc3
mov eax, dword [ebp + 0x14]
add eax, 0x1c4
push eax
lea ecx, [ebp - 0x20c]
call fcn.004381a0
mov eax, dword [ebp - 0x204]
xor ebx, ebx
mov dword [ebp + 0x20], ebx
cmp eax, ebx
jle 0x4474d6
lea ebx, [ebx]
mov ecx, dword [ebp + 0x20]
test ecx, ecx
js 0x447511
cmp ecx, eax
jge 0x447511
mov ecx, dword [ebp - 0x208]
lea edi, [ebx + ecx]
push edi
lea ecx, [ebp - 0xb4]
call dword [0x4824d8]
mov edx, dword [edi + 4]
mov dword [ebp - 0xb0], edx
mov eax, dword [edi + 8]
mov dword [ebp - 0xac], eax
mov ecx, dword [edi + 0xc]
push 1
sub esp, 0x14
mov dword [ebp - 0xa8], ecx
mov dl, byte [edi + 0x10]
mov edi, esp
lea eax, [ebp - 0xb4]
mov dword [ebp + 0x18], esp
push eax
mov ecx, edi
mov byte [ebp - 0xa4], dl
mov dword [ebp - 0x10], edi
call dword [0x4824cc]
mov byte [ebp - 4], 0xc4
mov ecx, dword [ebp - 0xb0]
mov dword [edi + 4], ecx
mov edx, dword [ebp - 0xac]
mov dword [edi + 8], edx
mov eax, dword [ebp - 0xa8]
mov dword [edi + 0xc], eax
mov cl, byte [ebp - 0xa4]
mov byte [edi + 0x10], cl
mov byte [ebp - 4], 0xc5
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
test eax, eax
je 0x44747e
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xc6
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x44749c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc7
lea ecx, [ebp + 0x1c]
push ecx
mov byte [ebp - 4], 0xc3
mov ecx, esi
call fcn.0043f3c0
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x4474be
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x204]
inc ecx
add ebx, 0x14
mov dword [ebp + 0x20], ecx
cmp ecx, eax
jl 0x4473d0
lea ecx, [ebp - 0x284]
call fcn.00434e70
mov byte [ebp - 4], 0xc8
mov ecx, dword [ebp + 0x14]
add ecx, 0x1b0
push ecx
lea ecx, [ebp - 0x284]
call fcn.004381a0
mov eax, dword [ebp - 0x27c]
xor ecx, ecx
mov dword [ebp + 0x20], ecx
test eax, eax
jle 0x447614
xor ebx, ebx
jmp 0x447519
call sub.mfc100u.dll_AfxThrowInvalidArgException
mov ecx, dword [ebp + 0x20]
test ecx, ecx
js 0x447511
cmp ecx, eax
jge 0x447511
mov edx, dword [ebp - 0x280]
lea edi, [ebx + edx]
push edi
lea ecx, [ebp - 0xb4]
call dword [0x4824d8]
mov eax, dword [edi + 4]
mov dword [ebp - 0xb0], eax
mov ecx, dword [edi + 8]
mov dword [ebp - 0xac], ecx
mov edx, dword [edi + 0xc]
push 0
sub esp, 0x14
mov dword [ebp - 0xa8], edx
mov al, byte [edi + 0x10]
mov edi, esp
lea ecx, [ebp - 0xb4]
mov dword [ebp + 0x18], esp
push ecx
mov ecx, edi
mov byte [ebp - 0xa4], al
mov dword [ebp - 0x10], edi
call dword [0x4824cc]
mov byte [ebp - 4], 0xc9
mov edx, dword [ebp - 0xb0]
mov dword [edi + 4], edx
mov eax, dword [ebp - 0xac]
mov dword [edi + 8], eax
mov ecx, dword [ebp - 0xa8]
mov dword [edi + 0xc], ecx
mov dl, byte [ebp - 0xa4]
mov byte [edi + 0x10], dl
mov byte [ebp - 4], 0xca
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
test eax, eax
je 0x4475bc
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xcb
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x4475da
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xcc
lea ecx, [ebp + 0x1c]
push ecx
mov byte [ebp - 4], 0xc8
mov ecx, esi
call fcn.0043f3c0
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x4475fc
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x27c]
inc ecx
add ebx, 0x14
mov dword [ebp + 0x20], ecx
cmp ecx, eax
jl 0x447516
lea ecx, [ebp - 0x34]
call dword [0x4824e8]
mov byte [ebp - 4], 0xcd
lea ecx, [ebp - 0x1bc]
call fcn.0041fc80
mov byte [ebp - 4], 0xce
lea ecx, [ebp - 0x1bc]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.0045fb00
lea ecx, [ebp - 0x180]
call fcn.0045bac0
mov byte [ebp - 4], 0xcf
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x60], edi
mov byte [ebp - 4], 0xd0
mov eax, dword [ebp - 0x1b4]
mov dword [ebp + 0x20], ecx
cmp eax, ecx
jle 0x447df5
mov dword [ebp + 0x1c], ecx
jmp 0x447673
mov ecx, dword [ebp + 0x20]
test ecx, ecx
js 0x447511
cmp ecx, eax
jge 0x447511
mov eax, dword [ebp + 0x1c]
add eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x180]
push eax
call fcn.0041efe0
push 0x482e5c
lea ecx, [ebp - 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xd1
push str.Prerequisite
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0xd2
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0
push 0
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp + 0x18]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
test eax, eax
je 0x4476e3
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xd3
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447701
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd4
lea ecx, [ebp - 0x4c]
push ecx
mov byte [ebp - 4], 0xd2
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0xd5
mov eax, dword [eax]
cmp edi, eax
je 0x44773d
mov ebx, edi
mov edi, eax
mov dword [ebp - 0x60], edi
test eax, eax
je 0x447731
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
test ebx, ebx
je 0x44773d
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
mov byte [ebp - 4], 0xd2
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x447750
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0xd1
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x180]
call fcn.00435350
mov byte [ebp - 4], 0xd6
mov ecx, eax
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::GetLength]
test eax, eax
setg bl
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x54]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
test bl, bl
je 0x447824
push str.Name
lea ecx, [ebp - 0x2c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xd7
lea ecx, [ebp - 0x6c]
push ecx
lea ecx, [ebp - 0x180]
call fcn.00435350
mov byte [ebp - 4], 0xd8
push eax
lea edx, [ebp - 0x2c]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x4477dd
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0xd9
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x4477fb
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xda
mov byte [ebp - 4], 0xd8
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xd7
lea ecx, [ebp - 0x6c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x2c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x180]
call fcn.00420950
mov byte [ebp - 4], 0xdb
mov ecx, eax
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::GetLength]
test eax, eax
setg bl
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x9c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
test bl, bl
je 0x4478ea
push str.FileAssoc
lea ecx, [ebp - 0x48]
call dword [0x4824d0]
mov byte [ebp - 4], 0xdc
lea ecx, [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0x180]
call fcn.00420950
mov byte [ebp - 4], 0xdd
push eax
lea edx, [ebp - 0x48]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x4478a0
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0xde
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x4478be
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xdf
mov byte [ebp - 4], 0xdd
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xdc
lea ecx, [ebp - 0xa0]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x48]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0x180]
call fcn.004209b0
mov byte [ebp - 4], 0xe0
mov ecx, eax
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::GetLength]
test eax, eax
setg bl
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0xcc]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
test bl, bl
je 0x447a3a
push str.OperatingSystem
lea ecx, [ebp - 0x58]
call dword [0x4824d0]
mov byte [ebp - 4], 0xe1
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x180]
call fcn.004209b0
mov byte [ebp - 4], 0xe2
push eax
lea edx, [ebp - 0x58]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x447963
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0xe3
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447981
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xe4
mov byte [ebp - 4], 0xe2
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xe1
lea ecx, [ebp - 0x70]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x58]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
cmp byte [ebp - 0x174], 0
je 0x447a3a
push str.OperatingSystemIsServer
lea ecx, [ebp - 0x3c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xe5
push 1
lea eax, [ebp - 0x50]
push eax
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0xe6
push eax
lea ecx, [ebp - 0x3c]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x4479f3
mov edx, dword [edi]
mov eax, dword [edx + 4]
push edi
call eax
mov byte [ebp - 4], 0xe7
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447a11
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe8
mov byte [ebp - 4], 0xe6
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xe5
lea ecx, [ebp - 0x50]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x3c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x170]
mov ebx, dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
cmp eax, 0xffffffff
jle 0x447ac2
push eax
lea ecx, [ebp - 0x34]
push 0x485770
push ecx
call ebx
add esp, 0xc
push str.MajorRev
lea ecx, [ebp - 0x38]
call dword [0x4824d0]
mov byte [ebp - 4], 0xe9
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x38]
push eax
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x447a88
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov byte [ebp - 4], 0xea
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447aa6
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xeb
mov byte [ebp - 4], 0xe9
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x38]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x16c]
cmp eax, 0xffffffff
jle 0x447b44
push eax
lea ecx, [ebp - 0x34]
push 0x485770
push ecx
call ebx
add esp, 0xc
push str.MinorRev
lea ecx, [ebp - 0x40]
call dword [0x4824d0]
mov byte [ebp - 4], 0xec
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x40]
push eax
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x447b0a
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov byte [ebp - 4], 0xed
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447b28
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xee
mov byte [ebp - 4], 0xec
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x40]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x168]
cmp eax, 0xffffffff
jle 0x447bc6
push eax
lea ecx, [ebp - 0x34]
push 0x485770
push ecx
call ebx
add esp, 0xc
push str.MinMajorRev
lea ecx, [ebp - 0x44]
call dword [0x4824d0]
mov byte [ebp - 4], 0xef
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x44]
push eax
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x447b8c
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov byte [ebp - 4], 0xf0
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447baa
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xf1
mov byte [ebp - 4], 0xef
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x44]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x164]
cmp eax, 0xffffffff
jle 0x447c48
push eax
lea ecx, [ebp - 0x34]
push 0x485770
push ecx
call ebx
add esp, 0xc
push str.MinMinorRev
lea ecx, [ebp - 0x30]
call dword [0x4824d0]
mov byte [ebp - 4], 0xf2
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x30]
push eax
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x447c0e
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov byte [ebp - 4], 0xf3
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447c2c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xf4
mov byte [ebp - 4], 0xf2
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x30]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x160]
cmp eax, 0xffffffff
jle 0x447cca
push eax
lea ecx, [ebp - 0x34]
push 0x485770
push ecx
call ebx
add esp, 0xc
push str.MaxMajorRev
lea ecx, [ebp - 0x24]
call dword [0x4824d0]
mov byte [ebp - 4], 0xf5
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x24]
push eax
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x447c90
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov byte [ebp - 4], 0xf6
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447cae
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xf7
mov byte [ebp - 4], 0xf5
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x15c]
cmp eax, 0xffffffff
jle 0x447d4c
push eax
lea ecx, [ebp - 0x34]
push 0x485770
push ecx
call ebx
add esp, 0xc
push str.MaxMinorRev
lea ecx, [ebp - 0x28]
call dword [0x4824d0]
mov byte [ebp - 4], pe_nt_image_headers32
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x28]
push eax
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x447d12
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov byte [ebp - 4], 0xf9
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447d30
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xfa
mov byte [ebp - 4], pe_nt_image_headers32
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
cmp byte [ebp - 0x158], 0
je 0x447ddc
push str.InstallIfUpgrade
lea ecx, [ebp - 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0xfb
push 1
lea ecx, [ebp - 0x18]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0xfc
push eax
lea edx, [ebp - 0x20]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x447d95
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0xfd
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447db3
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xfe
mov byte [ebp - 4], 0xfc
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xfb
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x1b4]
add dword [ebp + 0x1c], 0x2c
inc ecx
mov dword [ebp + 0x20], ecx
cmp ecx, eax
jl 0x447670
lea ecx, [ebp - 0x298]
call fcn.0041fcd0
mov byte [ebp - 4], 0xff
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x298]
push eax
call fcn.0045fb20
lea ecx, [ebp - 0x128]
call dword [0x4824e8]
mov dword [ebp - 4], 0x100
lea ecx, [ebp - 0x11c]
call dword [0x4824e8]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x114]
call dword [0x4824e8]
mov dword [ebp - 4], 0x103
xor ebx, ebx
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xdc]
call dword [0x4824e8]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xc8]
call dword [0x4824e8]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x290]
xor ecx, ecx
mov dword [ebp + 0x20], ecx
cmp eax, ebx
jle 0x448354
mov dword [ebp + 0x1c], ebx
jmp 0x447e93
mov ecx, dword [ebp + 0x20]
test ecx, ecx
js 0x447511
cmp ecx, eax
jge 0x447511
mov edi, dword [ebp + 0x1c]
add edi, dword [ebp - 0x294]
lea ecx, [ebp - 0x128]
push edi
call dword [0x4824d8]
mov eax, dword [edi + 4]
mov dword [ebp - 0x124], eax
mov ecx, dword [edi + 8]
lea edx, [edi + 0xc]
mov dword [ebp - 0x120], ecx
push edx
lea ecx, [ebp - 0x11c]
call dword [0x4824d8]
mov al, byte [edi + 0x10]
mov byte [ebp - 0x118], al
mov cl, byte [edi + 0x11]
lea edx, [edi + 0x14]
mov byte [ebp - 0x117], cl
push edx
lea ecx, [ebp - 0x114]
call dword [0x4824d8]
mov eax, dword [edi + 0x18]
push 0x482e5c
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x110], eax
call dword [0x4824d0]
mov byte [ebp - 4], 7
push str.Dependant
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 8
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0
push 0
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp + 0x18]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
test eax, eax
je 0x447f51
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 9
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x447f6f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x18]
push ecx
mov byte [ebp - 4], 8
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0xb
mov eax, dword [eax]
cmp ebx, eax
je 0x447fab
mov edi, ebx
mov ebx, eax
mov dword [ebp - 0x4c], ebx
test eax, eax
je 0x447f9f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
je 0x447fab
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edi
call edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x447fbe
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 7
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Name
lea ecx, [ebp - 0x28]
call dword [0x4824d0]
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x28]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x448009
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push ebx
call eax
mov byte [ebp - 4], 0xd
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x448027
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xc
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.ProductCode
lea ecx, [ebp - 0x24]
call dword [0x4824d0]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x11c]
push ecx
lea edx, [ebp - 0x24]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x448074
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x448092
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0xf
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x124]
cmp eax, 0xffffffff
jle 0x448134
push eax
lea eax, [ebp - 0x34]
push 0x485770
push eax
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add esp, 0xc
push str.MajorRev
lea ecx, [ebp - 0x30]
call dword [0x4824d0]
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x30]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x4480fa
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov byte [ebp - 4], 0x13
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x448118
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 0x12
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x30]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x120]
cmp eax, 0xffffffff
jle 0x4481ba
push eax
lea eax, [ebp - 0x34]
push 0x485770
push eax
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add esp, 0xc
push str.MinorRev
lea ecx, [ebp - 0x44]
call dword [0x4824d0]
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x44]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x448180
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov byte [ebp - 4], 0x16
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x44819e
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], 0x15
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x44]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
cmp byte [ebp - 0x118], 0
mov eax, 0x48c0e8
jne 0x4481cd
mov eax, 0x48c0e0
push eax
lea ecx, [ebp - 0xdc]
call dword [0x4824f0]
cmp byte [ebp - 0x117], 0
mov eax, 0x48c0e8
jne 0x4481ed
mov eax, 0x48c0e0
push eax
lea ecx, [ebp - 0xc8]
call dword [0x4824f0]
push str.InstallThisWithOwner
lea ecx, [ebp - 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x1c]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x44822b
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push ebx
call eax
mov byte [ebp - 4], 0x19
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x448249
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1a
mov byte [ebp - 4], 0x18
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.InstallOwnerWithThis
lea ecx, [ebp - 0x2c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xc8]
push ecx
lea edx, [ebp - 0x2c]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x448296
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x4482b4
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 0x1b
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.UninstallWhen
lea ecx, [ebp - 0x48]
call dword [0x4824d0]
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x48]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x448301
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push ebx
call eax
mov byte [ebp - 4], 0x1f
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x44831f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x20
mov byte [ebp - 4], 0x1e
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x48]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x290]
add dword [ebp + 0x1c], 0x1c
inc ecx
mov dword [ebp + 0x20], ecx
cmp ecx, eax
jl 0x447e90
lea ecx, [ebp - 0x74]
call dword [0x4824e8]
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x270]
call fcn.0041fdd0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x270]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.0045fb40
lea ecx, [ebp - 0xfc]
call dword [0x4824e8]
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xf8]
call dword [0x4824e8]
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xf4]
call dword [0x4824e8]
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xf0]
call dword [0x4824e8]
mov byte [ebp - 4], 0x27
xor ebx, ebx
mov dword [ebp - 0x54], ebx
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0x268]
mov dword [ebp + 0x20], ebx
cmp eax, ebx
jle 0x4487f9
mov dword [ebp + 0x1c], ebx
lea esp, [esp]
mov ecx, dword [ebp + 0x20]
test ecx, ecx
js 0x447511
cmp ecx, eax
jge 0x447511
mov edi, dword [ebp + 0x1c]
add edi, dword [ebp - 0x26c]
mov cl, byte [edi]
lea edx, [edi + 4]
mov byte [ebp - 0x100], cl
push edx
lea ecx, [ebp - 0xfc]
call dword [0x4824d8]
lea eax, [edi + 8]
push eax
lea ecx, [ebp - 0xf8]
call dword [0x4824d8]
lea ecx, [edi + 0xc]
push ecx
lea ecx, [ebp - 0xf4]
call dword [0x4824d8]
lea edx, [edi + 0x10]
push edx
lea ecx, [ebp - 0xf0]
call dword [0x4824d8]
mov al, byte [edi + 0x14]
push 0x482e5c
lea ecx, [ebp - 0x20]
mov byte [ebp - 0xec], al
call dword [0x4824d0]
mov byte [ebp - 4], 0x29
push str.InstalledRegKey
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0
push 0
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp + 0x18]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
test eax, eax
je 0x448498
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x2b
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x4484b6
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x18]
push ecx
mov byte [ebp - 4], 0x2a
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0x2d
mov eax, dword [eax]
cmp ebx, eax
je 0x4484f2
mov edi, ebx
mov ebx, eax
mov dword [ebp - 0x54], ebx
test eax, eax
je 0x4484e6
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
je 0x4484f2
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edi
call edx
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x448505
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x29
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
cmp byte [ebp - 0x100], 0
mov eax, 0x48c0e8
jne 0x448532
mov eax, 0x48c0e0
push eax
lea ecx, [ebp - 0x74]
call dword [0x4824f0]
push str.OldProduct
lea ecx, [ebp - 0x28]
call dword [0x4824d0]
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x28]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x44856a
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push ebx
call eax
mov byte [ebp - 4], 0x2f
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x448588
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x30
mov byte [ebp - 4], 0x2e
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Class
lea ecx, [ebp - 0x24]
call dword [0x4824d0]
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0xfc]
push ecx
lea edx, [ebp - 0x24]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x4485d5
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov byte [ebp - 4], 0x32
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x4485f3
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x33
mov byte [ebp - 4], 0x31
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0x48cbd4
lea ecx, [ebp - 0x30]
call dword [0x4824d0]
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x30]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x448640
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push ebx
call eax
mov byte [ebp - 4], 0x35
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x44865e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x36
mov byte [ebp - 4], 0x34
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x30]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.ValueName
lea ecx, [ebp - 0x44]
call dword [0x4824d0]
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0xf4]
push ecx
lea edx, [ebp - 0x44]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x4486ab
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov byte [ebp - 4], 0x38
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x4486c9
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x39
mov byte [ebp - 4], 0x37
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x44]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Value
lea ecx, [ebp - 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x1c]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x448716
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push ebx
call eax
mov byte [ebp - 4], 0x3b
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x448734
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3c
mov byte [ebp - 4], 0x3a
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
cmp byte [ebp - 0xec], 0
je 0x4487e0
push str.ValueMinVersion
lea ecx, [ebp - 0x2c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x3d
push 1
lea ecx, [ebp - 0x50]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x3e
push eax
lea edx, [ebp - 0x2c]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ebx
test ebx, ebx
je 0x448799
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov byte [ebp - 4], 0x3f
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x4487b7
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x40
mov byte [ebp - 4], 0x3e
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x50]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x2c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x268]
add dword [ebp + 0x1c], 0x18
inc ecx
mov dword [ebp + 0x20], ecx
cmp ecx, eax
jl 0x4483e0
lea ecx, [ebp - 0x248]
call fcn.0041fe30
mov byte [ebp - 4], 0x41
mov ebx, dword [ebp + 0x14]
lea eax, [ebp - 0x248]
push eax
mov ecx, ebx
call fcn.0045fb60
lea ecx, [ebp - 0x108]
call dword [0x4824e8]
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x104]
call dword [0x4824e8]
mov byte [ebp - 4], 0x44
xor edi, edi
mov dword [ebp - 0x6c], edi
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0x240]
mov dword [ebp + 0x20], edi
test eax, eax
jle 0x448aed
mov dword [ebp + 0x1c], edi
jmp 0x448860
mov ecx, dword [ebp + 0x20]
test ecx, ecx
js 0x447511
cmp ecx, eax
jge 0x447511
mov ebx, dword [ebp + 0x1c]
add ebx, dword [ebp - 0x244]
mov al, byte [ebx]
lea ecx, [ebx + 4]
push ecx
lea ecx, [ebp - 0x108]
mov byte [ebp - 0x10c], al
call dword [0x4824d8]
add ebx, 8
push ebx
lea ecx, [ebp - 0x104]
call dword [0x4824d8]
push 0x482e5c
lea ecx, [ebp - 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x46
push str.InstalledFileAssoc
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0x47
push 0
push 0
push 0
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp + 8]
lea eax, [ebp + 0x18]
push eax
mov eax, dword [edx]
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
test eax, eax
je 0x4488ef
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x48
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x44890d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x18]
push ecx
mov byte [ebp - 4], 0x47
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0x4a
mov eax, dword [eax]
cmp edi, eax
je 0x448949
mov ebx, edi
mov edi, eax
mov dword [ebp - 0x6c], edi
test eax, eax
je 0x44893d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
test ebx, ebx
je 0x448949
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
mov byte [ebp - 4], 0x47
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x44895c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x46
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
cmp byte [ebp - 0x10c], 0
mov eax, 0x48c0e8
jne 0x448989
mov eax, 0x48c0e0
push eax
lea ecx, [ebp - 0x74]
call dword [0x4824f0]
push str.OldProduct
lea ecx, [ebp - 0x28]
call dword [0x4824d0]
mov byte [ebp - 4], 0x4b
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x28]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x4489c1
mov edx, dword [edi]
mov eax, dword [edx + 4]
push edi
call eax
mov byte [ebp - 4], 0x4c
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x4489df
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4d
mov byte [ebp - 4], 0x4b
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Assoc
lea ecx, [ebp - 0x24]
call dword [0x4824d0]
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x108]
push ecx
lea edx, [ebp - 0x24]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x448a2c
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
mov byte [ebp - 4], 0x4f
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x448a4a
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x50
mov byte [ebp - 4], 0x4e
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.AppValue
lea ecx, [ebp - 0x30]
call dword [0x4824d0]
mov byte [ebp - 4], 0x51
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x30]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], edi
test edi, edi
je 0x448a97
mov edx, dword [edi]
mov eax, dword [edx + 4]
push edi
call eax
mov byte [ebp - 4], 0x52
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x448ab5
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x53
mov byte [ebp - 4], 0x51
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x30]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x240]
add dword [ebp + 0x1c], 0xc
inc ecx
mov dword [ebp + 0x20], ecx
cmp ecx, eax
jl 0x448860
mov ebx, dword [ebp + 0x14]
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, ebx
call fcn.00435650
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0xc0]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::GetLength]
test eax, eax
jle 0x448c31
push str.InstallPath
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x55
push 0
push 0
push 0
lea edx, [ebp - 0xc0]
push edx
lea eax, [ebp + 0x1c]
push eax
mov eax, dword [edi]
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x448b4f
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x56
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x448b6d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x57
lea ecx, [ebp + 0x20]
push ecx
mov byte [ebp - 4], 0x55
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0x59
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.AppendToRoot
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0x5a
mov dl, byte [ebx + 0x50]
mov byte [ebp + 0x1c], dl
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x5b
push eax
lea edx, [ebp + 0x18]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x1c], esp
test eax, eax
je 0x448bd7
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5c
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x448bf5
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5d
mov byte [ebp - 4], 0x5b
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x59
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x54
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x448c31
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0xd8]
push eax
mov ecx, ebx
call fcn.0045db70
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0xd8]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::GetLength]
test eax, eax
jle 0x448e7f
push str.ProjectPath
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x5f
mov eax, dword [edi]
push 0
push 0
push 0
lea ecx, [ebp - 0xd8]
push ecx
lea edx, [ebp + 0x1c]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x448c90
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x60
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x448cae
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x61
lea ecx, [ebp + 0x20]
push ecx
mov byte [ebp - 4], 0x5f
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0x63
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea edx, [ebp - 0x24]
push edx
mov ecx, ebx
call fcn.004356c0
mov byte [ebp - 4], 0x64
lea eax, [ebp - 0x28]
push eax
mov ecx, ebx
call fcn.00435720
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x20]
push ecx
mov ecx, ebx
call fcn.00435780
mov byte [ebp - 4], 0x66
push str.Class
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0x67
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp + 0x18]
push eax
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x1c], esp
test eax, eax
je 0x448d2f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x68
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x448d4d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x69
mov byte [ebp - 4], 0x67
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x66
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0x48cbd4
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp + 0x1c]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x18], esp
test eax, eax
je 0x448d9d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6b
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x448dbb
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6c
mov byte [ebp - 4], 0x6a
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x66
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.ValueName
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp + 0x18]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x1c], esp
test eax, eax
je 0x448e0b
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6e
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x448e29
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6f
mov byte [ebp - 4], 0x6d
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x66
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x5e
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x448e7f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x20]
lea ecx, [ebp - 0x98]
push ecx
mov ecx, ebx
call edx
mov byte [ebp - 4], 0x70
push 0
push 0xa
lea ecx, [ebp - 0x98]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Find_1]
lea ecx, [ebp + 0x20]
cmp eax, 0xffffffff
jne 0x448f0a
push str.Desc
call dword [0x4824d0]
mov byte [ebp - 4], 0x71
lea eax, [ebp - 0x98]
push eax
mov eax, dword [edi]
lea ecx, [ebp + 0x20]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x1c], esp
mov dword [ecx], eax
test eax, eax
je 0x448edb
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x72
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x18], esp
test eax, eax
je 0x448ef9
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x73
mov byte [ebp - 4], 0x71
mov ecx, esi
call fcn.0043dde0
jmp 0x448f80
push str.Description
call dword [0x4824d0]
mov byte [ebp - 4], 0x74
mov eax, dword [edi]
push 0
push 0
push 0
lea ecx, [ebp - 0x98]
push ecx
lea edx, [ebp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x448f40
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x75
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x448f5e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x76
lea ecx, [ebp + 0x1c]
push ecx
mov byte [ebp - 4], 0x74
mov ecx, esi
call fcn.0043f100
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x448f80
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0x70
lea ecx, [ebp + 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0xd0]
push ecx
mov ecx, ebx
call fcn.004355c0
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0xd0]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::IsEmpty]
test al, al
jne 0x4490c8
push str.NotesLink
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x78
push 0
push 0
push 0
lea edx, [ebp - 0xd0]
push edx
lea eax, [ebp + 0x1c]
push eax
mov eax, dword [edi]
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x448fec
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x79
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44900a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x7a
lea ecx, [ebp + 0x20]
push ecx
mov byte [ebp - 4], 0x78
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0x7c
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Type
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0x7d
mov eax, dword [ebx + 0x44]
push eax
lea edx, [ebp + 0x1c]
push edx
mov ecx, esi
call fcn.00434800
mov byte [ebp - 4], 0x7e
push eax
lea eax, [ebp + 0x18]
push eax
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44906e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x7f
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x44908c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x80
mov byte [ebp - 4], 0x7e
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x7d
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x7c
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x77
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4490c8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [ebx + 0xf0], 0
mov byte [ebp - 0x38], 1
jne 0x4490e2
push 0x18
mov ecx, ebx
call fcn.0045fe90
test al, al
je 0x4490e6
mov byte [ebp - 0x38], 0
push 0xa
mov ecx, ebx
call fcn.0045fe90
test al, al
je 0x4493bd
push 0x482e5c
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0x81
push str.ProductExe
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x82
mov eax, dword [ebp - 0x38]
push 0
push 0
push eax
mov eax, dword [edi]
lea ecx, [ebp + 0x18]
push ecx
lea edx, [ebp + 0x1c]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
test eax, eax
je 0x449141
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x83
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x44915f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x84
lea ecx, [ebp + 0x20]
push ecx
mov byte [ebp - 4], 0x82
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0x86
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x87
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Name
lea ecx, [ebp - 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x88
lea edx, [ebp + 0x18]
push edx
mov ecx, ebx
call fcn.0040ffc0
mov byte [ebp - 4], 0x89
push eax
lea eax, [ebp - 0x20]
push eax
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x1c], esp
test eax, eax
je 0x4491cc
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x8a
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x4491ea
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x8b
mov byte [ebp - 4], 0x89
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x88
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x87
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Path
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x8c
lea ecx, [ebp - 0x18]
push ecx
mov ecx, ebx
call fcn.0040ff50
mov byte [ebp - 4], 0x8d
push eax
lea edx, [ebp + 0x1c]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x18], esp
test eax, eax
je 0x449253
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x8e
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x449271
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x8f
mov byte [ebp - 4], 0x8d
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x8c
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x87
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.CommandLine
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0x90
lea ecx, [ebp - 0x18]
push ecx
mov ecx, ebx
call fcn.00435550
mov byte [ebp - 4], 0x91
push eax
lea edx, [ebp + 0x18]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x1c], esp
test eax, eax
je 0x4492da
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x92
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x4492f8
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x93
mov byte [ebp - 4], 0x91
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x90
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x87
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0x19
mov ecx, ebx
call fcn.0045fe90
push str.InvokeViaCommandLineOnly
lea ecx, [ebp + 0x1c]
mov byte [ebp + 0x18], al
call dword [0x4824d0]
mov byte [ebp - 4], 0x94
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0x18]
push edx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x95
push eax
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x18], esp
test eax, eax
je 0x449371
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x96
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44938f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x97
mov byte [ebp - 4], 0x95
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x87
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
jmp 0x449ccf
push 0xb
mov ecx, ebx
call fcn.0045fe90
test al, al
je 0x449ce2
push 0x482e5c
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0x98
push str.ProductMsi
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x99
mov eax, dword [ebp - 0x38]
push 0
push 0
push eax
mov eax, dword [edi]
lea ecx, [ebp + 0x18]
push ecx
lea edx, [ebp + 0x1c]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
test eax, eax
je 0x449418
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x9a
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x449436
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9b
lea ecx, [ebp + 0x20]
push ecx
mov byte [ebp - 4], 0x99
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0x9d
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x9e
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Name
lea ecx, [ebp - 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0x9f
lea edx, [ebp + 0x18]
push edx
mov ecx, ebx
call fcn.0040ffc0
mov byte [ebp - 4], 0xa0
push eax
lea eax, [ebp - 0x20]
push eax
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x1c], esp
test eax, eax
je 0x4494a3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa1
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x4494c1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa2
mov byte [ebp - 4], 0xa0
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x9f
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x9e
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Path
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xa3
lea ecx, [ebp - 0x18]
push ecx
mov ecx, ebx
call fcn.0040ff50
mov byte [ebp - 4], 0xa4
push eax
lea edx, [ebp + 0x1c]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x18], esp
test eax, eax
je 0x44952a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa5
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x449548
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa6
mov byte [ebp - 4], 0xa4
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xa3
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x9e
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov ecx, ebx
call fcn.00460ee0
test al, al
sete cl
mov byte [ebp + 0x1c], cl
push str.NoUserName
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0xa7
mov edx, dword [ebp + 0x1c]
push edx
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0xa8
mov edx, dword [ebp + 0x20]
push eax
lea ecx, [ebp + 0x18]
push ecx
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x1c], esp
test eax, eax
je 0x4495c4
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xa9
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x4495e2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xaa
mov byte [ebp - 4], 0xa8
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xa7
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x9e
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov ecx, ebx
call fcn.00460f10
test al, al
sete cl
mov byte [ebp + 0x18], cl
push str.NoCompanyName
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xab
mov edx, dword [ebp + 0x18]
push edx
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0xac
mov edx, dword [ebp + 0x20]
push eax
lea ecx, [ebp + 0x1c]
push ecx
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x18], esp
test eax, eax
je 0x44965e
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xad
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44967c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xae
mov byte [ebp - 4], 0xac
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xab
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x9e
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov ecx, ebx
call fcn.00460f40
test al, al
sete cl
mov byte [ebp + 0x1c], cl
push str.NoPidKey
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0xaf
mov edx, dword [ebp + 0x1c]
push edx
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0xb0
mov edx, dword [ebp + 0x20]
push eax
lea ecx, [ebp + 0x18]
push ecx
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x1c], esp
test eax, eax
je 0x4496f8
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xb1
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x449716
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb2
mov byte [ebp - 4], 0xb0
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xaf
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x9e
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0x29
mov ecx, ebx
call fcn.0045fe90
test al, al
je 0x4497d9
push str.SkipUninstallBeforeUpgrade
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xb3
push 1
lea ecx, [ebp + 0x18]
push ecx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0xb4
push eax
lea edx, [ebp + 0x1c]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x449792
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb5
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x4497b0
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb6
mov byte [ebp - 4], 0xb4
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xb3
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x9e
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov edi, dword [ebx + 0x31c]
push str.UIModeInstall
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xb7
push edi
lea ecx, [ebp - 0x18]
push ecx
mov ecx, esi
call fcn.00434930
mov byte [ebp - 4], 0xb8
push eax
lea edx, [ebp + 0x1c]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x18], esp
test eax, eax
je 0x449820
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb9
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44983e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xba
mov byte [ebp - 4], 0xb8
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xb7
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x9e
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov edi, dword [ebx + 0x320]
push str.UIModeUninstall
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0xbb
push edi
lea ecx, [ebp - 0x18]
push ecx
mov ecx, esi
call fcn.00434930
mov byte [ebp - 4], 0xbc
push eax
lea edx, [ebp + 0x18]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x1c], esp
test eax, eax
je 0x4498ae
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xbd
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x4498cc
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xbe
mov byte [ebp - 4], 0xbc
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xbb
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x9e
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov edi, dword [ebx + 0x324]
push str.MsiCallingMode
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xbf
push edi
lea ecx, [ebp - 0x18]
push ecx
mov ecx, esi
call fcn.004349d0
mov byte [ebp - 4], 0xc0
push eax
lea edx, [ebp + 0x1c]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x18], esp
test eax, eax
je 0x44993c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc1
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44995a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc2
mov byte [ebp - 4], 0xc0
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xbf
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x9e
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
inc dword [esi + 0x28]
lea ecx, [ebp - 0x94]
call fcn.00434e20
mov byte [ebp - 4], 0xc3
lea ecx, [ebx + 0x1f4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00437250
lea ecx, [ebp - 0x13c]
call fcn.004057a0
mov byte [ebp - 4], 0xc4
push 0
lea edx, [ebp - 0x13c]
push edx
mov ecx, ebx
call fcn.0045e7e0
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x3c], eax
mov dword [ebp + 0x18], 0
mov byte [ebp - 4], 0xc5
mov edi, dword [ebp - 0x8c]
or edx, 0xffffffff
lea eax, [edi - 1]
mov dword [ebp + 0x1c], edx
test eax, eax
js 0x449a27
lea ecx, [ecx]
cmp edx, 0xffffffff
jne 0x449a24
test eax, eax
js 0x447511
cmp eax, edi
jge 0x447511
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx + eax*4]
mov ecx, dword [ecx]
cmp ecx, 5
je 0x449a21
cmp ecx, 6
je 0x449a21
cmp ecx, 4
je 0x449a21
mov edx, eax
dec eax
jns 0x4499f0
mov dword [ebp + 0x1c], edx
mov dword [ebp - 0x40], 0
test edi, edi
jle 0x449bfa
cmp dword [ebp + 0x1c], 0xffffffff
je 0x449bf7
mov eax, dword [ebp - 0x40]
test eax, eax
js 0x447511
cmp eax, dword [ebp - 0x8c]
jge 0x447511
mov edx, dword [ebp - 0x90]
mov edi, dword [edx + eax*4]
mov ebx, dword [edi]
cmp ebx, 5
je 0x449be7
cmp ebx, 6
je 0x449be7
cmp ebx, 4
je 0x449be7
cmp dword [ebp - 0x3c], 0
jne 0x449a8c
mov byte [ebp - 0x20], 1
cmp eax, dword [ebp + 0x1c]
je 0x449a90
mov byte [ebp - 0x20], 0
push str.Property
lea ecx, [ebp - 0x28]
call dword [0x4824d0]
mov byte [ebp - 4], 0xc6
mov eax, dword [ebp - 0x20]
push 0
push 0
push eax
lea ecx, [ebp - 0x50]
push ecx
mov ecx, edi
call fcn.00435210
mov byte [ebp - 4], 0xc7
push eax
lea edx, [ebp - 0x28]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x449ad8
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc8
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x449af6
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc9
lea ecx, [ebp - 0x18]
push ecx
mov byte [ebp - 4], 0xc7
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0xca
mov eax, dword [eax]
cmp dword [ebp + 0x18], eax
je 0x449b32
mov edi, dword [ebp + 0x18]
mov dword [ebp + 0x18], eax
test eax, eax
je 0x449b26
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
je 0x449b32
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edi
call edx
mov byte [ebp - 4], 0xc7
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x449b45
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0xc6
lea ecx, [ebp - 0x50]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xc5
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Type
lea ecx, [ebp - 0x24]
call dword [0x4824d0]
mov byte [ebp - 4], 0xcb
push ebx
lea eax, [ebp - 0x70]
push eax
mov ecx, esi
call fcn.00434690
mov byte [ebp - 4], 0xcc
push eax
lea ecx, [ebp - 0x24]
push ecx
push ecx
mov ecx, dword [ebp + 0x18]
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ecx
test ecx, ecx
je 0x449b9d
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ecx
call eax
mov byte [ebp - 4], 0xcd
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x449bbb
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xce
mov byte [ebp - 4], 0xcc
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xcb
lea ecx, [ebp - 0x70]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xc5
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x8c]
jl 0x449a36
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x3c]
xor edi, edi
test ecx, ecx
jle 0x449c99
test edi, edi
js 0x447511
cmp edi, dword [ebp - 0x134]
jge 0x447511
mov edx, dword [ebp - 0x138]
mov eax, dword [edx + edi*4]
dec ecx
cmp edi, ecx
sete cl
push 0
movzx edx, cl
push 0
push edx
push eax
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x449c4d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xcf
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x449c6b
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd0
lea ecx, [ebp + 0x1c]
push ecx
mov byte [ebp - 4], 0xc5
mov ecx, esi
call fcn.0043f8a0
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x449c8d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp - 0x3c]
inc edi
cmp edi, ecx
jl 0x449c07
dec dword [esi + 0x28]
mov byte [ebp - 4], 0xc4
cmp dword [ebp + 0x18], 0
je 0x449cb1
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0xc3
lea ecx, [ebp - 0x13c]
call fcn.00404e50
mov byte [ebp - 4], 0x9e
lea ecx, [ebp - 0x94]
call fcn.004359b0
mov byte [ebp - 4], 0x77
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x449ce2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push 0xc
mov ecx, ebx
call fcn.0045fe90
test al, al
je 0x44a1cd
lea ecx, [ebp - 0x94]
call dword [0x4824e8]
mov byte [ebp - 4], 0xd1
lea ecx, [ebp - 0x90]
call dword [0x4824e8]
mov byte [ebp - 4], 0xd2
lea ecx, [ebp - 0x8c]
call dword [0x4824e8]
mov byte [ebp - 4], 0xd3
lea ecx, [ebp - 0x88]
call dword [0x4824e8]
mov byte [ebp - 4], 0xd5
lea ecx, [ebp - 0x13c]
call fcn.00410900
mov byte [ebp - 4], 0xd6
lea eax, [ebp - 0x13c]
push eax
mov ecx, ebx
call fcn.0045fb80
mov eax, dword [ebp - 0x134]
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
test eax, eax
jle 0x44a17e
xor ebx, ebx
jmp 0x449d73
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
js 0x447511
cmp ecx, eax
jge 0x447511
mov ecx, dword [ebp - 0x138]
lea edi, [ebx + ecx]
push edi
lea ecx, [ebp - 0x94]
call dword [0x4824d8]
lea edx, [edi + 4]
push edx
lea ecx, [ebp - 0x90]
call dword [0x4824d8]
lea eax, [edi + 8]
push eax
lea ecx, [ebp - 0x8c]
call dword [0x4824d8]
lea ecx, [edi + 0xc]
push ecx
lea ecx, [ebp - 0x88]
call dword [0x4824d8]
mov dl, byte [edi + 0x10]
mov byte [ebp - 0x84], dl
mov al, byte [edi + 0x11]
push 0x482e5c
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x83], al
call dword [0x4824d0]
mov byte [ebp - 4], 0xd7
push str.ProductReg
lea ecx, [ebp + 0x18]
call dword [0x4824d0]
mov byte [ebp - 4], 0xd8
mov ecx, dword [ebp - 0x38]
push 0
push 0
push ecx
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp + 8]
lea eax, [ebp + 0x18]
push eax
mov eax, dword [edx]
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
test eax, eax
je 0x449e28
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xd9
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x449e46
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xda
lea ecx, [ebp + 0x20]
push ecx
mov byte [ebp - 4], 0xd8
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0xdc
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xdd
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Class
lea ecx, [ebp - 0x28]
call dword [0x4824d0]
mov byte [ebp - 4], 0xde
lea edx, [ebp - 0x94]
push edx
lea eax, [ebp - 0x28]
push eax
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x449eaa
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xdf
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x449ec8
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe0
mov byte [ebp - 4], 0xde
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xdd
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0x48cbd4
lea ecx, [ebp - 0x24]
call dword [0x4824d0]
mov byte [ebp - 4], 0xe1
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0x24]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x449f1b
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe2
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x449f39
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe3
mov byte [ebp - 4], 0xe1
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xdd
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.ValueName
lea ecx, [ebp - 0x30]
call dword [0x4824d0]
mov byte [ebp - 4], 0xe4
lea ecx, [ebp - 0x8c]
push ecx
lea edx, [ebp - 0x30]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x449f8c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe5
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x449faa
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe6
mov byte [ebp - 4], 0xe4
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xdd
lea ecx, [ebp - 0x30]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Value
lea ecx, [ebp - 0x44]
call dword [0x4824d0]
mov byte [ebp - 4], 0xe7
lea ecx, [ebp - 0x88]
push ecx
lea edx, [ebp - 0x44]
push edx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x449ffd
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe8
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x44a01b
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe9
mov byte [ebp - 4], 0xe7
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xdd
lea ecx, [ebp - 0x44]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.RemoveKey
lea ecx, [ebp - 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xea
mov ecx, dword [ebp - 0x84]
push ecx
lea edx, [ebp - 0x18]
push edx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0xeb
push eax
lea eax, [ebp - 0x1c]
push eax
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44a07e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xec
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x44a09c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xed
mov byte [ebp - 4], 0xeb
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xea
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xdd
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.RemoveValueName
lea ecx, [ebp - 0x2c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xee
mov ecx, dword [ebp - 0x83]
push ecx
lea edx, [ebp - 0x50]
push edx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0xef
push eax
lea eax, [ebp - 0x2c]
push eax
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44a10c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xf0
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x44a12a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xf1
mov byte [ebp - 4], 0xef
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xee
lea ecx, [ebp - 0x50]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xdd
lea ecx, [ebp - 0x2c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xd6
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x44a166
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x134]
inc ecx
add ebx, 0x14
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jl 0x449d70
mov byte [ebp - 4], 0xd5
lea ecx, [ebp - 0x13c]
call fcn.004117b0
mov byte [ebp - 4], 0xf4
lea ecx, [ebp - 0x88]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xf3
lea ecx, [ebp - 0x8c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xf2
lea ecx, [ebp - 0x90]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x94]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x194]
call fcn.0041ff20
mov byte [ebp - 4], 0xf6
lea ecx, [ebp - 0x1a8]
call fcn.0041e4c0
mov byte [ebp - 4], 0xf7
mov edi, dword [ebp + 0x14]
lea eax, [ebp - 0x194]
push eax
mov ecx, edi
call fcn.0045e7c0
xor ebx, ebx
mov dword [ebp + 0x20], ebx
mov byte [ebp - 4], pe_nt_image_headers32
mov dword [ebp - 0x58], ebx
mov byte [ebp - 4], 0xf9
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x18], eax
cmp eax, ebx
jle 0x44a916
push 0x482e5c
lea ecx, [ebp - 0x28]
call dword [0x4824d0]
mov byte [ebp - 4], 0xfa
push str.InstallShieldSilent
lea ecx, [ebp - 0x20]
call dword [0x4824d0]
mov byte [ebp - 4], 0xfb
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push ebx
push ebx
push 1
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x20]
push edx
push ecx
mov ecx, esp
mov dword [ebp + 0x1c], esp
mov dword [ecx], eax
test eax, eax
je 0x44a266
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0xfc
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x18], esp
test eax, eax
je 0x44a284
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xfd
lea ecx, [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0xfb
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0xff
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov dword [ebp - 4], 0x200
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Version
lea ecx, [ebp + 0x1c]
call dword [0x4824d0]
mov byte [ebp - 4], 1
lea edx, [ebp + 0x18]
push edx
mov ecx, edi
call fcn.00420b30
mov byte [ebp - 4], 2
push eax
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 0x40]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x10], esp
test eax, eax
je 0x44a2f4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esp
test eax, eax
je 0x44a312
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 4
mov byte [ebp - 4], 2
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp - 0x18c]
inc dword [esi + 0x28]
mov dword [ebp + 0x18], 0
test eax, eax
jle 0x44a8fd
mov ecx, dword [ebp + 0x18]
test ecx, ecx
js 0x447511
cmp ecx, eax
jge 0x447511
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp + 0x18]
mov edi, dword [ecx + edx*4]
push 0x482e5c
lea ecx, [ebp - 0x30]
call dword [0x4824d0]
mov byte [ebp - 4], 5
push str.InstallShieldDialog
lea ecx, [ebp - 0x24]
call dword [0x4824d0]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x18]
dec eax
cmp dword [ebp + 0x18], eax
push 0
sete cl
movzx edx, cl
push 0
push edx
mov edx, dword [ebp - 0x40]
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x24]
push ecx
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp + 0x1c], esp
test eax, eax
je 0x44a3ca
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 7
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], esp
test eax, eax
je 0x44a3e8
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x50]
push ecx
mov byte [ebp - 4], 6
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 9
mov eax, dword [eax]
cmp dword [ebp + 0x20], eax
je 0x44a42c
mov edx, dword [ebp + 0x20]
mov dword [ebp + 0x1c], edx
mov dword [ebp + 0x20], eax
test eax, eax
je 0x44a41b
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
cmp dword [ebp + 0x1c], 0
je 0x44a42c
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x44a43f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Identifier
lea ecx, [ebp - 0x44]
call dword [0x4824d0]
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x70]
push eax
mov ecx, edi
call fcn.004207f0
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x44]
push ecx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [ebp + 0x1c], esp
mov dword [eax], ecx
test ecx, ecx
je 0x44a498
mov eax, ecx
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], esp
test eax, eax
je 0x44a4b6
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 0xb
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x70]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x44]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x1a8]
call fcn.0041e240
lea ecx, [ebp - 0x1a8]
push ecx
mov ecx, edi
call fcn.0041e6b0
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x3c], eax
mov dword [ebp + 0x1c], 0
test eax, eax
jle 0x44a8e8
jmp 0x44a526
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
js 0x447511
cmp ecx, eax
jge 0x447511
mov edx, dword [ebp - 0x1a4]
mov edi, dword [edx + ecx*4]
cmp byte [edi + 0x10], 0
je 0x44a6d1
push str.InstallShieldResult
lea ecx, [ebp - 0x2c]
call dword [0x4824d0]
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x3c]
dec eax
cmp ecx, eax
sete al
test ecx, ecx
sete cl
movzx edx, cl
mov ecx, edi
push eax
push edx
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.004352e0
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x2c]
push ecx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [ebp - 0x1c], esp
mov dword [eax], ecx
test ecx, ecx
je 0x44a5a5
mov eax, ecx
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x10
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x78], esp
test eax, eax
je 0x44a5c3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xcc]
push ecx
mov byte [ebp - 4], 0xf
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0x12
mov eax, dword [eax]
cmp ebx, eax
je 0x44a608
mov dword [ebp - 0x1c], ebx
mov ebx, eax
mov dword [ebp - 0x58], ebx
test eax, eax
je 0x44a5f7
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x1c], 0
je 0x44a608
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x44a61e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x150]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.IfDesktopShortcut
lea ecx, [ebp - 0x48]
call dword [0x4824d0]
mov byte [ebp - 4], 0x13
mov al, byte [edi + 0x11]
mov byte [ebp - 0x14c], al
mov ecx, dword [ebp - 0x14c]
push ecx
lea edx, [ebp - 0x148]
push edx
mov ecx, esi
call fcn.00434620
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x48]
push eax
push ecx
mov eax, esp
mov dword [ebp - 0x78], esp
mov dword [eax], ebx
test ebx, ebx
je 0x44a688
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push ebx
call edx
mov byte [ebp - 4], 0x15
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], esp
test eax, eax
je 0x44a6a6
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 0x14
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x148]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
jmp 0x44a8d2
push str.InstallShieldData
lea ecx, [ebp - 0x38]
call dword [0x4824d0]
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x3c]
dec edx
cmp ecx, edx
sete al
test ecx, ecx
sete cl
movzx edx, cl
mov ecx, edi
push eax
push edx
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.004352e0
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x38]
push ecx
push ecx
mov ecx, dword [ebp + 0x20]
mov eax, esp
mov dword [ebp - 0x78], esp
mov dword [eax], ecx
test ecx, ecx
je 0x44a72a
mov eax, ecx
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x19
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], esp
test eax, eax
je 0x44a748
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x144]
push ecx
mov byte [ebp - 4], 0x18
mov ecx, esi
call fcn.0043f100
mov byte [ebp - 4], 0x1b
mov eax, dword [eax]
cmp ebx, eax
je 0x44a78d
mov dword [ebp - 0x1c], ebx
mov ebx, eax
mov dword [ebp - 0x58], ebx
test eax, eax
je 0x44a77c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x1c], 0
je 0x44a78d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x44a7a3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x140]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.Name
lea ecx, [ebp - 0xa0]
call dword [0x4824d0]
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x14]
push eax
mov ecx, edi
call fcn.00435280
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0xa0]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x78], esp
mov dword [eax], ebx
test ebx, ebx
je 0x44a800
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push ebx
call eax
mov byte [ebp - 4], 0x1e
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], esp
test eax, eax
je 0x44a81e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1f
mov byte [ebp - 4], 0x1d
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa0]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push str.ValueSource
lea ecx, [ebp - 0x9c]
call dword [0x4824d0]
mov byte [ebp - 4], 0x20
mov edi, dword [edi + 0xc]
push edi
lea ecx, [ebp - 0x10]
push ecx
mov ecx, esi
call fcn.00434760
mov byte [ebp - 4], 0x21
push eax
lea edx, [ebp - 0x9c]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x78], esp
mov dword [eax], ebx
test ebx, ebx
je 0x44a88e
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov byte [ebp - 4], 0x22
mov edx, dword [ebp + 0xc]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], esp
test eax, eax
je 0x44a8ac
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x23
mov byte [ebp - 4], 0x21
mov ecx, esi
call fcn.0043dde0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0x3c]
jl 0x44a520
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x18c]
inc ecx
mov dword [ebp + 0x18], ecx
cmp ecx, eax
jl 0x44a353
dec dword [esi + 0x28]
mov dword [ebp - 4], 0x1f9
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x44a916
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
dec dword [esi + 0x28]
lea ecx, [ebp - 0x1e4]
call fcn.00404470
mov dword [ebp - 4], 0x224
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x1e4]
push eax
call fcn.0045e810
mov eax, dword [ebp - 0x1dc]
xor edi, edi
mov dword [ebp + 0x14], eax
test eax, eax
jle 0x44a9f2
mov ecx, eax
jmp 0x44a957
mov eax, dword [ebp - 0x1dc]
test edi, edi
js 0x447511
cmp edi, eax
jge 0x447511
mov edx, dword [ebp - 0x1e0]
mov eax, dword [edx + edi*4]
test edi, edi
sete dl
dec ecx
push 0
movzx edx, dl
cmp edi, ecx
sete cl
push edx
movzx edx, cl
push edx
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ebp + 0x18], esp
mov dword [ecx], eax
test eax, eax
je 0x44a99f
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov byte [ebp - 4], 0x25
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x78], esp
test eax, eax
je 0x44a9bd
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp + 0x1c]
push ecx
mov byte [ebp - 4], 0x24
mov ecx, esi
call fcn.004456e0
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x44a9df
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp + 0x14]
inc edi
cmp edi, ecx
jl 0x44a951
test ecx, ecx
jle 0x44a9f2
dec dword [esi + 0x28]
mov dword [ebp - 4], 0x1f9
lea ecx, [ebp - 0x1e4]
call fcn.00403b50
mov byte [ebp - 4], pe_nt_image_headers32
test ebx, ebx
je 0x44aa14
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
mov byte [ebp - 4], 0xf7
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x44aa27
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0xf6
lea ecx, [ebp - 0x1a8]
call fcn.0041e1f0
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x194]
call fcn.00420c80
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0xd0]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x98]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0xd8]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0xc0]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x44aa98
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp - 4], 0x227
lea ecx, [ebp - 0x104]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov dword [ebp - 4], 0x141
lea ecx, [ebp - 0x108]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x248]
call fcn.00428cc0
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x44aae0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp - 4], 0x22b
lea ecx, [ebp - 0xf0]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xf4]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xf8]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov dword [ebp - 4], 0x122
lea ecx, [ebp - 0xfc]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x270]
call fcn.00428bb0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x74]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xc8]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xdc]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x44ab75
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp - 4], 0x22e
lea ecx, [ebp - 0x114]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x11c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov dword [ebp - 4], 0xff
lea ecx, [ebp - 0x128]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x298]
call fcn.00428ab0
mov byte [ebp - 4], 0xcf
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x44abcd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0xce
lea ecx, [ebp - 0x180]
call fcn.0045bb70
mov byte [ebp - 4], 0xcd
lea ecx, [ebp - 0x1bc]
call fcn.00425d50
mov byte [ebp - 4], 0xc8
lea ecx, [ebp - 0x34]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xc3
lea ecx, [ebp - 0x284]
call fcn.004371a0
mov byte [ebp - 4], 0xc2
lea ecx, [ebp - 0x20c]
call fcn.004371a0
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0xb4]
call fcn.00452920
mov byte [ebp - 4], 0xb3
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x44ac38
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0xb2
lea ecx, [ebp - 0xd4]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xb1
lea ecx, [ebp - 0xbc]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0xa8
lea ecx, [ebp - 0x25c]
call fcn.00420c60
mov byte [ebp - 4], 0xa7
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x44ac7a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0xa6
lea ecx, [ebp - 0xe0]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x234]
call fcn.00425ca0
mov byte [ebp - 4], 0x88
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x44acac
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x84
lea ecx, [ebp - 0x1d0]
call fcn.00420c40
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0xe8]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x7f
lea ecx, [ebp - 0x1f8]
call fcn.00425ca0
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0xe4]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x220]
call fcn.00425ca0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xc4]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb8]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x44ad2c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x44ad3f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c