Function at 0x427100
Capabilities:
Get common file path
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x468a16
mov eax, dword fs:[0]
push eax
mov eax, 0xbef8
call fcn.00454790
mov eax, dword [0x48807c]
xor eax, esp
mov dword [esp + 0xbef4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48807c]
xor eax, esp
push eax
lea eax, [esp + 0xbf0c]
mov dword fs:[0], eax
mov ebx, dword [esp + 0xbf1c]
mov edi, ecx
push ebx
xor esi, esi
xor ebp, ebp
push str.ProcessSectionVerifyApps_____s__n
mov dword [esp + 0x20], edi
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x50], ebp
call fcn.004454c0
mov ecx, dword [edi + 4]
add esp, 8
push esi
lea eax, [esp + 0x6f0c]
push eax
push esi
push ebx
mov dword [esp + 0x70], esi
call fcn.00409a10
test al, al
je 0x42b8d7
lea ecx, [esp + 0x6f08]
push ecx
push esi
push ebx
push str.__s___d____s__n
call fcn.004454c0
push 0x1c2d0
call fcn.004534f0
add esp, 0x14
mov dword [esp + 0x20], eax
mov dword [esp + 0xbf14], 0
test eax, eax
je 0x4271cc
mov ecx, eax
call fcn.00444be0
mov ebp, eax
mov dword [esp + 0x30], eax
jmp 0x4271d2
xor ebp, ebp
mov dword [esp + 0x30], ebp
push 0x474298
lea edx, [esp + 0x6f0c]
push edx
mov ecx, ebp
mov dword [esp + 0xbf1c], 0xffffffff
call fcn.00444e30
cmp byte [ebp + 0x1c2cc], 0
mov dword [esp + 0x40], eax
je 0x427213
cmp dword [ebp + 0x1c2c8], 0
jg 0x42720b
xor eax, eax
jmp 0x427221
lea eax, [ebp + 0x32c8]
jmp 0x427221
xor eax, eax
cmp dword [ebp + 0x1c2c8], eax
setle al
dec eax
and eax, ebp
push str.CompareVersion
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x42b8a0
push 0x7e
push eax
lea ecx, [esp + 0x27fa]
push ecx
mov word [esp + 0x27fc], ax
call fcn.00453450
add esp, 0xc
cmp byte [ebp + 0x1c2cc], 0
je 0x427270
cmp dword [ebp + 0x1c2c8], 1
jg 0x427268
xor ecx, ecx
jmp 0x427283
lea ecx, [ebp + 0x3ac8]
jmp 0x427283
cmp dword [ebp + 0x1c2c8], 1
jg 0x42727d
xor ecx, ecx
jmp 0x427283
lea ecx, [ebp + 0x104]
lea edx, [esp + 0x27f0]
mov ebx, 2
nop
movzx eax, word [ecx]
mov word [edx], ax
add ecx, ebx
add edx, ebx
test ax, ax
jne 0x427290
lea edx, [esp + 0x27f0]
push str.CHECK_DOTNET
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x427666
push str.CHECK_DOTNET
mov ecx, edi
call fcn.00418f90
lea eax, [esp + 0x27f0]
push eax
push 0xffffffffffffffff
push 0xa
mov ecx, edi
call fcn.00418e80
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x72]
push edx
mov word [esp + 0x74], cx
call fcn.00453450
add esp, 0xc
cmp byte [ebp + 0x1c2cc], 0
je 0x427312
cmp dword [ebp + 0x1c2c8], ebx
jg 0x42730a
xor ecx, ecx
jmp 0x427324
lea ecx, [ebp + 0x42c8]
jmp 0x427324
cmp dword [ebp + 0x1c2c8], ebx
jg 0x42731e
xor ecx, ecx
jmp 0x427324
lea ecx, [ebp + 0x208]
lea edx, [esp + 0x68]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, ebx
add edx, ebx
test ax, ax
jne 0x427328
lea eax, [esp + 0x68]
push eax
push str.wszAppName___s__n
call fcn.004454c0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x2c92]
push edx
mov word [esp + 0x2c94], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x38ce]
push ecx
mov word [esp + 0x38d0], ax
call fcn.00453450
mov esi, dword [esp + 0x60]
mov eax, 3
add esp, 0x20
cmp esi, eax
jle 0x4273d5
cmp byte [ebp + 0x1c2cc], 0
je 0x4273ad
cmp dword [ebp + 0x1c2c8], eax
jg 0x4273a5
xor ecx, ecx
jmp 0x4273bf
lea ecx, [ebp + 0x4ac8]
jmp 0x4273bf
cmp dword [ebp + 0x1c2c8], eax
jg 0x4273b9
xor ecx, ecx
jmp 0x4273bf
lea ecx, [ebp + 0x30c]
lea edx, [esp + 0x2c80]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, ebx
add edx, ebx
test ax, ax
jne 0x4273c6
mov eax, 4
cmp esi, eax
jle 0x427438
cmp byte [ebp + 0x1c2cc], 0
je 0x4273fb
cmp dword [ebp + 0x1c2c8], eax
jg 0x4273f3
xor ecx, ecx
jmp 0x42740d
lea ecx, [ebp + 0x52c8]
jmp 0x42740d
cmp dword [ebp + 0x1c2c8], eax
jg 0x427407
xor ecx, ecx
jmp 0x42740d
lea ecx, [ebp + 0x410]
lea edx, [esp + 0x38b0]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, ebx
add edx, ebx
test ax, ax
jne 0x427414
lea edx, [esp + 0x38b0]
push edx
push str.We_also_want_to_check_type___s__n
call fcn.004454c0
add esp, 8
lea eax, [esp + 0x2c80]
push 0x4776f4
push eax
xor bl, bl
xor esi, esi
xor ebp, ebp
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x42746a
mov ecx, edi
call fcn.004218d0
mov bl, al
test bl, bl
je 0x42746a
lea esi, [ebp + 4]
lea ebp, [esi + 1]
lea ecx, [esp + 0x2c80]
push 0x4776ec
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4274b9
lea edx, [esp + 0x38b0]
push str.full
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
je 0x4274a7
cmp word [esp + 0x38b0], 0
jne 0x4274b9
mov ecx, edi
call fcn.004218a0
mov bl, al
test bl, bl
je 0x4274b9
mov esi, 4
lea eax, [esp + 0x2c80]
push 0x4776ec
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4274fd
lea ecx, [esp + 0x38b0]
push str.client
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4274fd
mov ecx, edi
call fcn.00421870
mov bl, al
test bl, bl
je 0x4274fd
mov esi, 4
lea edx, [esp + 0x2c80]
push 0x4776c8
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x42752b
mov ecx, edi
call fcn.00421840
mov bl, al
test bl, bl
je 0x42752b
mov esi, 3
lea ebp, [esi + 2]
lea eax, [esp + 0x2c80]
push 0x4776c0
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x427556
mov ecx, edi
call fcn.00421810
mov bl, al
test bl, bl
je 0x427556
mov esi, 3
lea ecx, [esp + 0x2c80]
push 0x4776b8
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x427581
mov ecx, edi
call fcn.004217e0
mov bl, al
test bl, bl
je 0x427581
mov esi, 2
xor eax, eax
mov dword [edi + 0x2ac4], eax
mov dword [edi + 0x2ac0], eax
test bl, bl
je 0x4275f5
movzx eax, si
movzx edx, bp
shl eax, 0x10
or eax, edx
push eax
push str.DOTNET_VERSION_combined__d___n
mov dword [edi + 0x2ac0], eax
mov dword [edi + 0x2ac4], 1
call fcn.004454c0
movzx eax, word [edi + 0x2ac0]
movzx ecx, word [edi + 0x2ac2]
push eax
push ecx
push str.DOTNET_VERSION_return___d____d__n
call fcn.004454c0
lea eax, [esp + 0x7c]
mov edx, edi
mov ecx, eax
sub edx, ecx
add esp, 0x14
add edx, 0x2ac8
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4275e6
push 0x208
call fcn.00453c61
mov ecx, dword [edi + 0x2ac4]
mov esi, eax
mov eax, dword [edi + 0x2ac0]
lea edx, [esp + 0x6c]
push edx
push eax
push ecx
push str._d__d___s_
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
push 0xffffffffffffffff
push 1
push esi
lea ecx, [edi + 0x4ac8]
call fcn.00403750
mov ecx, edi
test bl, bl
je 0x42764d
lea edx, [esp + 0x27f0]
push edx
mov dword [esp + 0x18], 1
push 0
jmp 0x42765f
lea eax, [esp + 0x27f0]
push eax
mov dword [esp + 0x18], 0
push 2
push 0xa
call fcn.00418e80
lea ecx, [esp + 0x27f0]
push str.CHECK_SQLSERVER
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x428425
mov ebp, dword [esp + 0x18]
push str.CHECK_SQLSERVER
mov ecx, ebp
call fcn.00418f90
lea edx, [esp + 0x27f0]
push edx
push 0xffffffffffffffff
push 0xa
mov ecx, ebp
call fcn.00418e80
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2a82]
push ecx
mov word [esp + 0x2a84], ax
call fcn.00453450
mov esi, dword [esp + 0x3c]
add esp, 0xc
cmp byte [esi + 0x1c2cc], 0
je 0x4276e8
cmp dword [esi + 0x1c2c8], 2
jg 0x4276e0
xor ecx, ecx
jmp 0x4276fb
lea ecx, [esi + 0x42c8]
jmp 0x4276fb
cmp dword [esi + 0x1c2c8], 2
jg 0x4276f5
xor ecx, ecx
jmp 0x4276fb
lea ecx, [esi + 0x208]
lea edx, [esp + 0x2a78]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x427702
lea edx, [esp + 0x2a78]
push edx
push str.wszAppName___s__n
call fcn.004454c0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2c92]
push ecx
mov word [esp + 0x2c94], ax
call fcn.00453450
mov edi, dword [esp + 0x54]
mov eax, 4
add esp, 0x14
cmp edi, eax
jle 0x4277a1
cmp byte [esi + 0x1c2cc], 0
je 0x42776f
cmp dword [esi + 0x1c2c8], eax
jg 0x427767
xor ecx, ecx
jmp 0x427781
lea ecx, [esi + 0x52c8]
jmp 0x427781
cmp dword [esi + 0x1c2c8], eax
jg 0x42777b
xor ecx, ecx
jmp 0x427781
lea ecx, [esi + 0x410]
lea edx, [esp + 0x2c80]
jmp 0x427790
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x427790
lea edx, [esp + 0x2c80]
push edx
push str.wszInstancesNameToCheck___s__n
call fcn.004454c0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x38c2]
push ecx
mov word [esp + 0x38c4], ax
call fcn.00453450
mov eax, 5
add esp, 0x14
cmp edi, eax
jle 0x427823
cmp byte [esi + 0x1c2cc], 0
je 0x4277f9
cmp dword [esi + 0x1c2c8], eax
jg 0x4277f1
xor ecx, ecx
jmp 0x42780b
lea ecx, [esi + 0x5ac8]
jmp 0x42780b
cmp dword [esi + 0x1c2c8], eax
jg 0x427805
xor ecx, ecx
jmp 0x42780b
lea ecx, [esi + 0x514]
lea edx, [esp + 0x38b0]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x427812
lea edx, [esp + 0x38b0]
push edx
push str.wszEditionToCheck___s__n
call fcn.004454c0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2882]
push ecx
mov word [esp + 0x2884], ax
call fcn.00453450
push 0x20019
push str.SOFTWAREMicrosoftMicrosoft_SQL_ServerInstance_NamesSQL
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451bc0
mov esi, eax
add esp, 0x20
test esi, esi
jbe 0x427cee
imul eax, eax, 0x104
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00453c61
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x427cee
push 0x20019
push esi
push ebx
push str.SOFTWAREMicrosoftMicrosoft_SQL_ServerInstance_NamesSQL
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451be0
add esp, 0x14
test eax, eax
jle 0x427cee
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
mov esi, eax
push ebx
push str._______Instances___s__n
call fcn.004454c0
add esp, 8
cmp word [esp + 0x2c80], 0
je 0x427905
lea eax, [esp + 0x2c80]
push ebx
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
je 0x427905
push str._______Instances_not_matched__Continue..._n
call fcn.004454c0
add esp, 4
jmp 0x427cdd
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x72]
push edx
mov word [esp + 0x74], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x3ace]
push ecx
mov word [esp + 0x3ad0], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x30b2]
push eax
mov word [esp + 0x30b4], dx
call fcn.00453450
add esp, 0x24
cmp word [esp + 0x38b0], 0
je 0x427a5c
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x2e92]
push edx
mov word [esp + 0x2e94], cx
call fcn.00453450
push 0x20019
lea eax, [esp + 0x2e98]
push eax
push ebx
push str.SOFTWAREMicrosoftMicrosoft_SQL_ServerInstance_NamesSQL
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b90
add esp, 0x20
test eax, eax
je 0x4279bf
lea ecx, [esp + 0x2e88]
push ecx
push ebx
push str._______Instance___s__value___s__n
call fcn.004454c0
add esp, 0xc
cmp word [esp + 0x2e88], 0
je 0x427a5c
lea edx, [esp + 0x2e88]
push edx
lea eax, [esp + 0x6c]
push str.SOFTWAREMicrosoftMicrosoft_SQL_Server_sSetup
push eax
call edi
lea ecx, [esp + 0x74]
push ecx
push str._______Look_at___s__for_edition_n
call fcn.004454c0
push 0x20019
lea edx, [esp + 0x30a8]
push edx
push str.Edition
lea eax, [esp + 0x88]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b90
add esp, 0x28
test eax, eax
je 0x427a5c
lea ecx, [esp + 0x3090]
push ecx
push str._______Edition___s__n
call fcn.004454c0
lea edx, [esp + 0x3098]
push edx
lea eax, [esp + 0x38bc]
push eax
call fcn.00453ad3
add esp, 0x10
test eax, eax
je 0x427a5c
push str._______Edition_did_not_match..._n
call fcn.004454c0
add esp, 4
jmp 0x427cdd
push ebx
lea ecx, [esp + 0x6c]
push str.SOFTWAREMicrosoftMicrosoft_SQL_Server_sMSSQLServerCurrentVersion
push ecx
call edi
lea edx, [esp + 0x74]
push edx
push str._______Look_at___s__for_current_version_n
call fcn.004454c0
push 0x20019
lea eax, [esp + 0x3ad0]
push eax
push str.CurrentVersion
lea ecx, [esp + 0x88]
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b90
add esp, 0x28
test eax, eax
je 0x427b45
lea edx, [esp + 0x3ab8]
push edx
push str._______current_version___s__n
call fcn.004454c0
add esp, 8
cmp word [esp + 0x2870], 0
jne 0x427af5
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x3ab8]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x427ad0
lea edx, [esp + 0x2870]
push edx
jmp 0x427cd0
lea eax, [esp + 0x3ab8]
push eax
lea ecx, [esp + 0x2874]
push ecx
mov ecx, ebp
call fcn.00421540
cmp eax, 2
jne 0x427b38
xor eax, eax
jmp 0x427b20
movzx ecx, word [esp + eax + 0x3ab8]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x427b20
lea edx, [esp + 0x2870]
push edx
jmp 0x427cd0
push str._____Somehow_current_version_is_missing__use_differnt_reg_key_to_check
call fcn.004454c0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x34ae]
push ecx
mov word [esp + 0x34b0], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x2ea2]
push eax
mov word [esp + 0x2ea4], dx
call fcn.00453450
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x32be]
push edx
mov word [esp + 0x32c0], cx
call fcn.00453450
push 0x20019
lea eax, [esp + 0x32c4]
push eax
push ebx
push str.SOFTWAREMicrosoftMicrosoft_SQL_ServerInstance_NamesSQL
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b90
add esp, 0x3c
test eax, eax
je 0x427be0
lea ecx, [esp + 0x3298]
push ecx
push ebx
push str._______Instance___s__value___s__n
call fcn.004454c0
add esp, 0xc
cmp word [esp + 0x3298], 0
je 0x427cdd
lea edx, [esp + 0x3298]
push edx
lea eax, [esp + 0x34a4]
push str.SOFTWAREMicrosoftMicrosoft_SQL_Server_sMSSQLServerCurrentVersion
push eax
call edi
lea ecx, [esp + 0x34ac]
push ecx
push str._______Look_at___s__for_version_n
call fcn.004454c0
push 0x20019
lea edx, [esp + 0x2ea0]
push edx
push str.CurrentVersion
lea eax, [esp + 0x34c0]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b90
add esp, 0x28
test eax, eax
je 0x427cdd
lea ecx, [esp + 0x2e88]
push ecx
push str._______wszOtherVersion___s__n
call fcn.004454c0
add esp, 8
cmp word [esp + 0x2870], 0
jne 0x427c8a
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x2e88]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x427c70
jmp 0x427cc8
lea edx, [esp + 0x2e88]
push edx
lea eax, [esp + 0x2874]
push eax
mov ecx, ebp
call fcn.00421540
cmp eax, 2
jne 0x427cc8
xor eax, eax
jmp 0x427cb0
movzx ecx, word [esp + eax + 0x2e88]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x427cb0
lea ecx, [esp + 0x2870]
push ecx
push str._______wszExistVersion_version___s__n
call fcn.004454c0
add esp, 8
add ebx, 0x208
sub esi, 1
jne 0x4278c5
jmp 0x427cf4
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0xc]
call fcn.0044b710
test eax, eax
je 0x42819c
push 0x20219
push str.SOFTWAREMicrosoftMicrosoft_SQL_ServerInstance_NamesSQL
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451bc0
mov esi, eax
add esp, 0xc
test esi, esi
jbe 0x42819c
imul eax, eax, 0x104
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00453c61
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x42819c
push 0x20219
push esi
push ebx
push str.SOFTWAREMicrosoftMicrosoft_SQL_ServerInstance_NamesSQL
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451be0
add esp, 0x14
test eax, eax
jle 0x42819c
mov esi, eax
push ebx
push str._______Instances___s__n
call fcn.004454c0
add esp, 8
cmp word [esp + 0x2c80], 0
je 0x427db1
lea eax, [esp + 0x2c80]
push ebx
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
je 0x427db1
push str._______Instances_not_matched__Continue..._n
call fcn.004454c0
add esp, 4
jmp 0x42818d
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x72]
push edx
mov word [esp + 0x74], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2e9e]
push ecx
mov word [esp + 0x2ea0], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x34c2]
push eax
mov word [esp + 0x34c4], dx
call fcn.00453450
add esp, 0x24
cmp word [esp + 0x38b0], 0
je 0x427f08
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x32a2]
push edx
mov word [esp + 0x32a4], cx
call fcn.00453450
push 0x20219
lea eax, [esp + 0x32a8]
push eax
push ebx
push str.SOFTWAREMicrosoftMicrosoft_SQL_ServerInstance_NamesSQL
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b90
add esp, 0x20
test eax, eax
je 0x427e6b
lea ecx, [esp + 0x3298]
push ecx
push ebx
push str._______Instance___s__value___s__n
call fcn.004454c0
add esp, 0xc
cmp word [esp + 0x3298], 0
je 0x427f08
lea edx, [esp + 0x3298]
push edx
lea eax, [esp + 0x6c]
push str.SOFTWAREMicrosoftMicrosoft_SQL_Server_sSetup
push eax
call edi
lea ecx, [esp + 0x74]
push ecx
push str._______Look_at___s__for_edition_n
call fcn.004454c0
push 0x20219
lea edx, [esp + 0x34b8]
push edx
push str.Edition
lea eax, [esp + 0x88]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b90
add esp, 0x28
test eax, eax
je 0x427f08
lea ecx, [esp + 0x34a0]
push ecx
push str._______Edition___s__n
call fcn.004454c0
lea edx, [esp + 0x34a8]
push edx
lea eax, [esp + 0x38bc]
push eax
call fcn.00453ad3
add esp, 0x10
test eax, eax
je 0x427f08
push str._______Edition_did_not_match..._n
call fcn.004454c0
add esp, 4
jmp 0x42818d
push ebx
lea ecx, [esp + 0x6c]
push str.SOFTWAREMicrosoftMicrosoft_SQL_Server_sMSSQLServerCurrentVersion
push ecx
call edi
lea edx, [esp + 0x74]
push edx
push str._______Look_at___s__for_current_version_n
call fcn.004454c0
push 0x20219
lea eax, [esp + 0x2ea0]
push eax
push str.CurrentVersion
lea ecx, [esp + 0x88]
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b90
add esp, 0x28
test eax, eax
je 0x427ff5
lea edx, [esp + 0x2e88]
push edx
push str._______current_version___s__n
call fcn.004454c0
add esp, 8
cmp word [esp + 0x2870], 0
jne 0x427fa5
xor eax, eax
jmp 0x427f80
movzx ecx, word [esp + eax + 0x2e88]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x427f80
lea edx, [esp + 0x2870]
push edx
jmp 0x428180
lea eax, [esp + 0x2e88]
push eax
lea ecx, [esp + 0x2874]
push ecx
mov ecx, ebp
call fcn.00421540
cmp eax, 2
jne 0x427fe8
xor eax, eax
jmp 0x427fd0
movzx ecx, word [esp + eax + 0x2e88]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x427fd0
lea edx, [esp + 0x2870]
push edx
jmp 0x428180
push str._____Somehow_current_version_is_missing__use_differnt_reg_key_to_check
call fcn.004454c0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x309e]
push ecx
mov word [esp + 0x30a0], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x3ad2]
push eax
mov word [esp + 0x3ad4], dx
call fcn.00453450
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x32be]
push edx
mov word [esp + 0x32c0], cx
call fcn.00453450
push 0x20219
lea eax, [esp + 0x32c4]
push eax
push ebx
push str.SOFTWAREMicrosoftMicrosoft_SQL_ServerInstance_NamesSQL
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b90
add esp, 0x3c
test eax, eax
je 0x428090
lea ecx, [esp + 0x3298]
push ecx
push ebx
push str._______Instance___s__value___s__n
call fcn.004454c0
add esp, 0xc
cmp word [esp + 0x3298], 0
je 0x42818d
lea edx, [esp + 0x3298]
push edx
lea eax, [esp + 0x3094]
push str.SOFTWAREMicrosoftMicrosoft_SQL_Server_sMSSQLServerCurrentVersion
push eax
call edi
lea ecx, [esp + 0x309c]
push ecx
push str._______Look_at___s__for_version_n
call fcn.004454c0
push 0x20219
lea edx, [esp + 0x3ad0]
push edx
push str.CurrentVersion
lea eax, [esp + 0x30b0]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b90
add esp, 0x28
test eax, eax
je 0x42818d
lea ecx, [esp + 0x3ab8]
push ecx
push str._______wszOtherVersion___s__n
call fcn.004454c0
add esp, 8
cmp word [esp + 0x2870], 0
jne 0x42813a
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x3ab8]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x428120
jmp 0x428178
lea edx, [esp + 0x3ab8]
push edx
lea eax, [esp + 0x2874]
push eax
mov ecx, ebp
call fcn.00421540
cmp eax, 2
jne 0x428178
xor eax, eax
jmp 0x428160
movzx ecx, word [esp + eax + 0x3ab8]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x428160
lea ecx, [esp + 0x2870]
push ecx
push str._______wszExistVersion_version___s__n
call fcn.004454c0
add esp, 8
add ebx, 0x208
sub esi, 1
jne 0x427d71
xor ebp, ebp
xor edi, edi
cmp word [esp + 0x2870], bp
je 0x4281ad
lea edi, [ebp + 1]
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x2a78]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add edx, 0x2ac8
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bp
jne 0x4281c4
cmp edi, 1
jne 0x4283a8
lea edx, [esp + 0x2870]
push edx
push str.wszExistVersion____s_n
call fcn.004454c0
add esp, 8
xor eax, eax
jmp 0x428200
movzx ecx, word [esp + eax + 0x2870]
mov word [esp + eax + 0x2e88], cx
add eax, 2
cmp cx, bp
jne 0x428200
lea eax, [esp + 0x2e88]
push 0x2e
push eax
call fcn.00453b87
mov esi, eax
add esp, 8
cmp esi, ebp
je 0x42828e
lea edx, [esp + 0x2e88]
xor ecx, ecx
push edx
mov word [esi], cx
call fcn.00453b7c
mov ebx, eax
lea eax, [esi + 2]
lea edx, [esp + 0x2e8c]
add esp, 4
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x428253
lea eax, [esp + 0x2e88]
push 0x2e
push eax
call fcn.00453b87
add esp, 8
test eax, eax
je 0x4282a0
lea edx, [esp + 0x2e88]
xor ecx, ecx
push edx
mov word [eax], cx
call fcn.00453b7c
mov ebp, eax
jmp 0x42829d
lea eax, [esp + 0x2e88]
push eax
call fcn.00453b7c
mov ebx, eax
add esp, 4
mov esi, dword [esp + 0x18]
movzx ecx, bx
movzx edx, bp
shl ecx, 0x10
or ecx, edx
xor eax, eax
push 0x206
mov dword [esi + 0x2ac0], ecx
push eax
lea ecx, [esp + 0x34aa]
push ecx
mov dword [esi + 0x2ac4], 1
mov word [esp + 0x34ac], ax
call fcn.00453450
mov eax, 3
add esp, 0xc
cmp dword [esp + 0x40], eax
jle 0x428335
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 0x1c2cc], 0
je 0x42830b
cmp dword [ecx + 0x1c2c8], eax
jg 0x428303
xor ecx, ecx
jmp 0x42831d
add ecx, 0x4ac8
jmp 0x42831d
cmp dword [ecx + 0x1c2c8], eax
jg 0x428317
xor ecx, ecx
jmp 0x42831d
add ecx, 0x30c
lea edx, [esp + 0x34a0]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x428324
cmp word [esp + 0x34a0], 0
je 0x428374
lea edx, [esp + 0x2870]
push edx
lea eax, [esp + 0x34a4]
push eax
mov ecx, esi
call fcn.00421540
test eax, eax
jg 0x428374
push 0
push str.Version_desired_not_matched__return___d___n
mov dword [esi + 0x2ac4], 0
call fcn.004454c0
add esp, 8
mov ecx, dword [esi + 0x2ac0]
push ecx
push str.SQL_VERSION_combined__d___n
call fcn.004454c0
movzx edx, word [esi + 0x2ac0]
movzx eax, word [esi + 0x2ac2]
push edx
push eax
push str.SQL_return___d____d__n
call fcn.004454c0
add esp, 0x14
mov ebx, esi
xor ebp, ebp
jmp 0x4283b4
mov dword [ebx + 0x2ac4], ebp
mov dword [ebx + 0x2ac0], ebp
push 0x208
call fcn.00453c61
mov edx, dword [ebx + 0x2ac0]
lea ecx, [esp + 0x2a7c]
push ecx
mov esi, eax
mov eax, dword [ebx + 0x2ac4]
push edx
push eax
push str._d__d___s_
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
push 0xffffffffffffffff
push 1
push esi
lea ecx, [ebx + 0x4ac8]
call fcn.00403750
cmp edi, ebp
je 0x42840c
lea ecx, [esp + 0x27f0]
push ecx
mov dword [esp + 0x18], 1
push ebp
jmp 0x42841c
lea edx, [esp + 0x27f0]
push edx
mov dword [ebx + 0x2ac0], ebp
push 2
push 0xa
mov ecx, ebx
call fcn.00418e80
lea eax, [esp + 0x27f0]
push str.VERIFY_INI_DATE
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4285bd
mov ecx, dword [esp + 0x18]
push str.VERIFY_INI_DATE
call fcn.00418f90
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x32a2]
push edx
mov word [esp + 0x32a4], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2a8e]
push ecx
mov word [esp + 0x2a90], ax
call fcn.00453450
mov esi, dword [esp + 0x48]
add esp, 0x18
cmp byte [esi + 0x1c2cc], 0
je 0x4284af
cmp dword [esi + 0x1c2c8], 2
jg 0x4284a7
xor eax, eax
jmp 0x4284c2
lea eax, [esi + 0x42c8]
jmp 0x4284c2
cmp dword [esi + 0x1c2c8], 2
jg 0x4284bc
xor eax, eax
jmp 0x4284c2
lea eax, [esi + 0x208]
push eax
lea edx, [esp + 0x329c]
push 0x46de2c
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
cmp byte [esi + 0x1c2cc], 0
je 0x4284f7
cmp dword [esi + 0x1c2c8], 3
jg 0x4284ef
xor eax, eax
jmp 0x42850a
lea eax, [esi + 0x4ac8]
jmp 0x42850a
cmp dword [esi + 0x1c2c8], 3
jg 0x428504
xor eax, eax
jmp 0x42850a
lea eax, [esi + 0x30c]
push eax
lea eax, [esp + 0x2a7c]
push 0x46de2c
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov esi, dword [esp + 0x24]
add esp, 0xc
lea ecx, [esp + 0x3298]
push ecx
mov ecx, esi
call fcn.004190c0
lea edx, [esp + 0x2a78]
push edx
mov ecx, esi
call fcn.004190c0
lea eax, [esp + 0x3298]
push eax
push str.______s__n
call fcn.004454c0
lea ecx, [esp + 0x2a80]
push ecx
push str.______s__n
call fcn.004454c0
add esp, 0x10
lea edx, [esp + 0x3298]
push edx
mov ecx, esi
call fcn.0041dee0
mov ebx, eax
lea eax, [esp + 0x2a78]
push eax
mov ecx, esi
call fcn.0041dee0
push ebx
push str.__dwInfDateInCD_______d__n
mov esi, eax
call fcn.004454c0
push esi
push str.__dwInfDateInDest_____d__n
call fcn.004454c0
add esp, 0x10
test esi, esi
jbe 0x4285bd
mov dword [esp + 0x14], 1
cmp ebx, esi
jbe 0x4285bd
mov dword [esp + 0x14], 2
lea ecx, [esp + 0x27f0]
push str.CHECK_PRODUCT_ARP
push ecx
call fcn.00453ad3
mov ebx, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x42869d
push str.CHECK_PRODUCT_ARP
mov ecx, ebx
call fcn.00418f90
lea edx, [esp + 0x27f0]
push edx
push 0xffffffffffffffff
push 0xa
mov ecx, ebx
call fcn.00418e80
push 0x1058
lea eax, [esp + 0x1754]
push 0
push eax
call fcn.00453450
mov ebp, dword [esp + 0x3c]
add esp, 0xc
cmp byte [ebp + 0x1c2cc], 0
je 0x428636
cmp dword [ebp + 0x1c2c8], 2
jg 0x42862e
xor eax, eax
jmp 0x428649
lea eax, [ebp + 0x42c8]
jmp 0x428649
cmp dword [ebp + 0x1c2c8], 2
jg 0x428643
xor eax, eax
jmp 0x428649
lea eax, [ebp + 0x208]
lea ecx, [esp + 0x1750]
push ecx
push eax
mov ecx, ebx
call fcn.0041e6a0
cmp byte [esp + 0x2790], 0
mov ecx, ebx
je 0x428680
lea edx, [esp + 0x27f0]
push edx
push 0
push 0xa
mov dword [esp + 0x20], 1
call fcn.00418e80
jmp 0x4286a1
lea eax, [esp + 0x27f0]
push eax
push 2
push 0xa
mov dword [ebx + 0x2ac0], 0
call fcn.00418e80
jmp 0x4286a1
mov ebp, dword [esp + 0x30]
lea ecx, [esp + 0x27f0]
push str.VERIFY_FILE_ARP
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
je 0x4286db
lea edx, [esp + 0x27f0]
push str.VERIFY_INI_ARP
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x429806
mov ebx, dword [esp + 0x18]
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x287a]
push ecx
mov word [esp + 0x287c], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x38c6]
push eax
mov word [esp + 0x38c8], dx
call fcn.00453450
add esp, 0x18
cmp byte [ebp + 0x1c2cc], 0
je 0x42873c
cmp dword [ebp + 0x1c2c8], 2
jg 0x428734
xor eax, eax
jmp 0x42874f
lea eax, [ebp + 0x42c8]
jmp 0x42874f
cmp dword [ebp + 0x1c2c8], 2
jg 0x428749
xor eax, eax
jmp 0x42874f
lea eax, [ebp + 0x208]
push eax
lea ecx, [esp + 0x2874]
push 0x46de2c
push ecx
call esi
add esp, 0xc
cmp byte [ebp + 0x1c2cc], 0
je 0x428780
cmp dword [ebp + 0x1c2c8], 3
jg 0x428778
xor eax, eax
jmp 0x428793
lea eax, [ebp + 0x4ac8]
jmp 0x428793
cmp dword [ebp + 0x1c2c8], 3
jg 0x42878d
xor eax, eax
jmp 0x428793
lea eax, [ebp + 0x30c]
push eax
lea edx, [esp + 0x38b4]
push 0x46de2c
push edx
call esi
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x34b6]
push ecx
mov word [esp + 0x34b8], ax
call fcn.00453450
mov eax, 5
add esp, 0x18
cmp dword [esp + 0x40], eax
jle 0x428810
cmp byte [ebp + 0x1c2cc], 0
je 0x4287eb
cmp dword [ebp + 0x1c2c8], eax
jg 0x4287e3
xor eax, eax
jmp 0x4287fd
lea eax, [ebp + 0x5ac8]
jmp 0x4287fd
cmp dword [ebp + 0x1c2c8], eax
jg 0x4287f7
xor eax, eax
jmp 0x4287fd
lea eax, [ebp + 0x514]
push eax
lea edx, [esp + 0x34a4]
push 0x46de2c
push edx
call esi
add esp, 0xc
lea eax, [esp + 0x2870]
push eax
mov ecx, ebx
call fcn.004190c0
lea ecx, [esp + 0x38b0]
push ecx
mov ecx, ebx
call fcn.004190c0
lea edx, [esp + 0x2870]
push edx
push str.______s__n
call fcn.004454c0
lea eax, [esp + 0x38b8]
push eax
push str.______s__n
call fcn.004454c0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x3ad2]
push edx
mov word [esp + 0x3ad4], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2eae]
push ecx
mov word [esp + 0x2eb0], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x36da]
push eax
mov word [esp + 0x36dc], dx
call fcn.00453450
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0xa6]
push edx
mov word [esp + 0xa8], cx
call fcn.00453450
add esp, 0x40
push 0x1058
lea eax, [esp + 0x6fc]
push 0
push eax
call fcn.00453450
add esp, 0xc
cmp word [esp + 0x34a0], 0
lea ecx, [esp + 0x38b0]
je 0x428929
push ecx
lea edx, [esp + 0x2874]
push edx
push str.____Verify_with_Arp_Key___s__and_Product_name___s__n
call fcn.004454c0
add esp, 0xc
lea eax, [esp + 0x6f8]
push eax
lea ecx, [esp + 0x38b4]
push ecx
lea edx, [esp + 0x34a8]
push edx
mov ecx, ebx
call fcn.0041f350
jmp 0x428939
lea eax, [esp + 0x6f8]
push eax
push ecx
mov ecx, ebx
call fcn.0041e6a0
xor eax, eax
jmp 0x428940
movzx ecx, word [esp + eax + 0x1530]
mov word [esp + eax + 0x68], cx
add eax, 2
test cx, cx
jne 0x428940
mov edx, dword [esp + 0x1744]
mov eax, dword [esp + 0x1740]
push edx
push eax
push str._dwMajor___d__dwMinor___d__n
call fcn.004454c0
mov ecx, dword [esp + 0x1758]
mov edx, dword [esp + 0x1754]
push ecx
push edx
push str._dwBuild___d__dwRevision___d__n
call fcn.004454c0
add esp, 0x18
cmp byte [esp + 0x1738], 0
je 0x4294cf
mov ecx, dword [ebx + 0xc]
push str..cab
lea eax, [esp + 0x2874]
mov edi, 1
push eax
mov dword [esp + 0x1c], edi
call fcn.004495e0
test eax, eax
je 0x428b1c
push str.CAB_file..._n
call fcn.004454c0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x309e]
push edx
mov word [esp + 0x30a0], cx
call fcn.00453450
mov ecx, dword [ebx + 0xc]
add esp, 0x10
lea eax, [esp + 0x3090]
push eax
push 0
push 0x477bc0
call fcn.0044a1a0
test eax, eax
je 0x428b1c
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x2a82]
push edx
mov word [esp + 0x2a84], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x32ae]
push ecx
mov word [esp + 0x32b0], ax
call fcn.00453450
lea edx, [esp + 0x2888]
push 0x7c
push edx
call fcn.00453b87
add esp, 0x20
test eax, eax
je 0x428a93
xor ecx, ecx
mov word [eax], cx
mov edi, edi
movzx edx, word [esp + ecx + 0x2870]
mov word [esp + ecx + 0x2a78], dx
add ecx, 2
test dx, dx
jne 0x428a60
add eax, 2
lea edx, [esp + 0x3298]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x428a84
push 0xa48
call fcn.004534f0
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0xbf14], edi
test eax, eax
je 0x428aba
mov ecx, eax
call fcn.00445080
mov esi, eax
jmp 0x428abc
xor esi, esi
lea edx, [esp + 0x3090]
push edx
lea eax, [esp + 0x329c]
push eax
lea ecx, [esp + 0x2a80]
push ecx
mov ecx, esi
mov dword [esp + 0xbf20], 0xffffffff
call fcn.00445250
xor eax, eax
jmp 0x428af0
movzx ecx, word [esp + eax + 0x3090]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x428af0
test esi, esi
je 0x428b1c
mov ecx, esi
call fcn.004452e0
push esi
call fcn.004534ca
add esp, 4
mov ecx, dword [ebx + 0xc]
push str..zip
lea edx, [esp + 0x2874]
push edx
mov byte [esp + 0x27], 0
call fcn.004495e0
test eax, eax
je 0x428d26
push str.ZIP_file..._n
call fcn.004454c0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x309e]
push ecx
mov word [esp + 0x30a0], ax
call fcn.00453450
add esp, 0x10
lea edx, [esp + 0x3090]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x428d26
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x32a2]
push ecx
mov word [esp + 0x32a4], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x2a8e]
push eax
mov word [esp + 0x2a90], dx
call fcn.00453450
lea ecx, [esp + 0x2888]
push 0x7c
push ecx
call fcn.00453b87
add esp, 0x20
test eax, eax
je 0x428c13
xor edx, edx
mov word [eax], dx
xor ecx, ecx
lea ebx, [ebx]
movzx edx, word [esp + ecx + 0x2870]
mov word [esp + ecx + 0x3298], dx
add ecx, 2
test dx, dx
jne 0x428be0
add eax, 2
lea edx, [esp + 0x2a78]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x428c04
mov ecx, dword [ebx + 0xc]
push 0
lea eax, [esp + 0x329c]
push eax
call fcn.004496a0
test al, al
je 0x428d26
lea ecx, [esp + 0x2a78]
push ecx
lea edx, [esp + 0x3094]
push edx
lea eax, [esp + 0x3cc8]
push 0x474b44
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea ecx, [esp + 0x32a8]
push ecx
lea edx, [esp + 0x2a8c]
push edx
push str.Start_extract_File_____s__from___s__n
call fcn.004454c0
lea eax, [esp + 0x32b4]
push 0
push eax
call fcn.00443e50
lea ecx, [esp + 0x2a9c]
push ecx
push str.tszFileName___s__n
mov esi, eax
mov dword [esp + 0x84], 0
call fcn.004454c0
lea edx, [esp + 0x4f4]
push edx
lea eax, [esp + 0x88]
push eax
push edi
lea ecx, [esp + 0x2ab0]
push ecx
push esi
call fcn.004418b0
add esp, 0x40
test eax, eax
jne 0x428d1d
mov edx, dword [esp + 0x58]
push edx
lea eax, [esp + 0x4d0]
push eax
push str.ze.name___s__at_index__d_n
call fcn.004454c0
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x3ccc]
push ecx
push edx
push esi
call fcn.00443ee0
push eax
push str._nRet1__d_n
call fcn.004454c0
add esp, 0x20
xor eax, eax
jmp 0x428d00
movzx ecx, word [esp + eax + 0x3cc0]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x428d00
mov byte [esp + 0x1f], 1
push esi
call fcn.00443f00
add esp, 4
mov edi, 4
xor esi, esi
cmp dword [esp + 0x40], edi
jle 0x428dd7
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x309a]
push ecx
mov word [esp + 0x309c], ax
call fcn.00453450
add esp, 0xc
cmp byte [ebp + 0x1c2cc], 0
je 0x428d74
cmp dword [ebp + 0x1c2c8], edi
jg 0x428d6c
xor eax, eax
jmp 0x428d86
lea eax, [ebp + 0x52c8]
jmp 0x428d86
cmp dword [ebp + 0x1c2c8], edi
jg 0x428d80
xor eax, eax
jmp 0x428d86
lea eax, [ebp + 0x410]
push eax
lea edx, [esp + 0x3094]
push 0x46de2c
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x309c]
push str.PRODUCTVERSION
push eax
call fcn.00453ad3
add esp, 0x14
test eax, eax
jne 0x428db6
lea esi, [eax + 1]
lea ecx, [esp + 0x3090]
push str.FILEVERSION
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
je 0x428dd7
test esi, esi
jne 0x429121
lea edx, [esp + 0x27f0]
push str.VERIFY_INI_ARP
xor ebp, ebp
push edx
mov dword [esp + 0x4c], ebp
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x428fdd
push 0x206
lea ecx, [esp + 0x2a7e]
push ebp
push ecx
mov word [esp + 0x2a84], ax
call fcn.00453450
push 0x4435c
call fcn.004534f0
add esp, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0xbf14], 2
cmp eax, ebp
je 0x428e4e
push ebp
push ebp
lea edx, [esp + 0x2878]
push edx
mov ecx, eax
call fcn.0040a7b0
mov esi, eax
mov dword [esp + 0x20], eax
jmp 0x428e54
xor esi, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0xbf14], 0xffffffff
cmp esi, ebp
je 0x428ff4
lea eax, [esp + 0x2a78]
push eax
push 2
push str.Version
push str.Version
mov ecx, esi
call fcn.00409a50
lea ecx, [esp + 0x2a78]
push ecx
push str.____wszVersion_____s__n
call fcn.004454c0
add esp, 8
cmp word [esp + 0x2a78], bp
je 0x428fcb
lea edx, [esp + 0x2a78]
push edx
push str.____Parse_Version_String____s__n
call fcn.004454c0
xor edi, edi
push 0x1c2d0
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x34], edi
call fcn.004534f0
add esp, 0xc
mov dword [esp + 0x24], eax
mov dword [esp + 0xbf14], 3
test eax, eax
je 0x428ef0
mov ecx, eax
call fcn.00444be0
mov esi, eax
jmp 0x428ef2
xor esi, esi
push 0x46abac
lea eax, [esp + 0x2a7c]
push eax
mov ecx, esi
mov dword [esp + 0xbf1c], 0xffffffff
call fcn.00444e30
mov ebx, eax
test ebx, ebx
jle 0x428f2d
push 0
mov ecx, esi
call fcn.00401b00
push eax
call fcn.00453b7c
add esp, 4
mov dword [esp + 0x2c], eax
cmp ebx, 1
jle 0x428f48
push 1
mov ecx, esi
call fcn.00401b00
push eax
call fcn.00453b7c
add esp, 4
mov dword [esp + 0x34], eax
cmp ebx, 2
jle 0x428f63
push 2
mov ecx, esi
call fcn.00401b00
push eax
call fcn.00453b7c
add esp, 4
mov dword [esp + 0x28], eax
cmp ebx, 3
jle 0x428f7c
push 3
mov ecx, esi
call fcn.00401b00
push eax
call fcn.00453b7c
add esp, 4
mov edi, eax
test esi, esi
je 0x428f90
mov ecx, esi
call fcn.0043df40
push esi
call fcn.004534ca
add esp, 4
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
movzx ebp, dx
movzx eax, cx
shl ebp, 0x10
or ebp, eax
mov eax, dword [esp + 0x28]
push edi
push eax
movzx esi, ax
push ecx
movzx ebx, di
shl esi, 0x10
push edx
or esi, ebx
push str.____Version____d___d___d___d_n
mov dword [esp + 0x58], esi
call fcn.004454c0
mov esi, dword [esp + 0x34]
add esp, 0x14
mov ecx, esi
call fcn.0040a950
push esi
call fcn.004534ca
add esp, 4
jmp 0x428ff4
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [ebx + 0xc]
lea edx, [esp + 0x2874]
push edx
call fcn.0044c8b0
mov ebp, eax
mov eax, dword [esp + 0x44]
movzx ebx, word [esp + 0x174c]
movzx ecx, word [esp + 0x1748]
movzx edx, word [esp + 0x1740]
mov edi, eax
mov word [esp + 0x27ee], ax
movzx eax, ax
mov dword [esp + 0x20], eax
shr edi, 0x10
movzx eax, di
mov dword [esp + 0x28], eax
movzx eax, bp
mov esi, ebp
mov dword [esp + 0x34], eax
shr esi, 0x10
push ebx
push ecx
mov ecx, dword [esp + 0x28]
movzx eax, si
mov dword [esp + 0x34], eax
movzx eax, word [esp + 0x174c]
push eax
mov eax, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push eax
push ecx
push 0x476868
call fcn.004454c0
add esp, 0x24
cmp si, word [esp + 0x1740]
jne 0x4290d1
mov eax, dword [esp + 0x1744]
cmp bp, ax
jne 0x4290c2
mov eax, dword [esp + 0x1748]
cmp di, ax
jne 0x4290b3
mov dx, word [esp + 0x174c]
cmp word [esp + 0x27ee], dx
je 0x4290ef
mov ax, word [esp + 0x27ee]
mov ecx, dword [esp + 0x174c]
cmp ax, cx
jmp 0x4290db
jbe 0x4290bd
mov dword [esp + 0x14], 2
cmp di, ax
jmp 0x4290e5
jbe 0x4290cc
mov dword [esp + 0x14], 2
cmp bp, ax
jmp 0x4290e5
mov eax, dword [esp + 0x1740]
cmp si, ax
jbe 0x4290e5
mov dword [esp + 0x14], 2
jae 0x4290ef
mov dword [esp + 0x14], 3
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x36a8]
push eax
lea ecx, [esp + 0x2874]
push ecx
mov ecx, dword [edx + 0xc]
call fcn.0044caa0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x30]
jmp 0x42946e
cmp esi, 1
jne 0x4294b8
lea eax, [esp + 0x27f0]
push str.VERIFY_INI_ARP
xor ebp, ebp
push eax
mov dword [esp + 0x4c], ebp
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x42932f
push 0x206
lea edx, [esp + 0x2a7e]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x2a84], cx
call fcn.00453450
push 0x4435c
call fcn.004534f0
add esp, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0xbf14], edi
cmp eax, ebp
je 0x42919f
push ebp
push ebp
lea ecx, [esp + 0x2878]
push ecx
mov ecx, eax
call fcn.0040a7b0
mov esi, eax
mov dword [esp + 0x2c], eax
jmp 0x4291a5
xor esi, esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0xbf14], 0xffffffff
test esi, esi
je 0x429346
lea edx, [esp + 0x2a78]
push edx
push 2
push str.Version
push str.Version
mov ecx, esi
call fcn.00409a50
lea eax, [esp + 0x2a78]
push eax
push str.____wszVersion_____s__n
call fcn.004454c0
add esp, 8
cmp word [esp + 0x2a78], 0
je 0x42931d
lea ecx, [esp + 0x2a78]
push ecx
push str.____Parse_Version_String____s__n
call fcn.004454c0
xor edi, edi
push 0x1c2d0
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x40], edi
call fcn.004534f0
add esp, 0xc
mov dword [esp + 0x24], eax
mov dword [esp + 0xbf14], 5
test eax, eax
je 0x429242
mov ecx, eax
call fcn.00444be0
mov esi, eax
jmp 0x429244
xor esi, esi
push 0x46abac
lea edx, [esp + 0x2a7c]
push edx
mov ecx, esi
mov dword [esp + 0xbf1c], 0xffffffff
call fcn.00444e30
mov ebx, eax
test ebx, ebx
jle 0x42927f
push 0
mov ecx, esi
call fcn.00401b00
push eax
call fcn.00453b7c
add esp, 4
mov dword [esp + 0x20], eax
cmp ebx, 1
jle 0x42929a
push 1
mov ecx, esi
call fcn.00401b00
push eax
call fcn.00453b7c
add esp, 4
mov dword [esp + 0x28], eax
cmp ebx, 2
jle 0x4292b5
push 2
mov ecx, esi
call fcn.00401b00
push eax
call fcn.00453b7c
add esp, 4
mov dword [esp + 0x34], eax
cmp ebx, 3
jle 0x4292ce
push 3
mov ecx, esi
call fcn.00401b00
push eax
call fcn.00453b7c
add esp, 4
mov edi, eax
test esi, esi
je 0x4292e2
mov ecx, esi
call fcn.0043df40
push esi
call fcn.004534ca
add esp, 4
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
movzx ebp, dx
movzx eax, cx
shl ebp, 0x10
or ebp, eax
mov eax, dword [esp + 0x34]
push edi
push eax
movzx esi, ax
push ecx
movzx ebx, di
shl esi, 0x10
push edx
or esi, ebx
push str.____Version____d___d___d___d_n
mov dword [esp + 0x58], esi
call fcn.004454c0
mov esi, dword [esp + 0x40]
add esp, 0x14
mov ecx, esi
call fcn.0040a950
push esi
call fcn.004534ca
add esp, 4
jmp 0x429346
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [ebx + 0xc]
lea edx, [esp + 0x2874]
push edx
call fcn.0044d400
mov ebp, eax
mov eax, dword [esp + 0x44]
movzx ebx, word [esp + 0x174c]
movzx ecx, word [esp + 0x1748]
movzx edx, word [esp + 0x1740]
mov edi, eax
mov word [esp + 0x27e6], ax
movzx eax, ax
mov dword [esp + 0x20], eax
shr edi, 0x10
movzx eax, di
mov dword [esp + 0x28], eax
movzx eax, bp
mov esi, ebp
mov dword [esp + 0x34], eax
shr esi, 0x10
push ebx
push ecx
mov ecx, dword [esp + 0x28]
movzx eax, si
mov dword [esp + 0x34], eax
movzx eax, word [esp + 0x174c]
push eax
mov eax, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push eax
push ecx
push str.Compare_src___d__d__d__d___des___d__d__d__d__n
call fcn.004454c0
add esp, 0x24
cmp si, word [esp + 0x1740]
jne 0x429423
mov eax, dword [esp + 0x1744]
cmp bp, ax
jne 0x429414
mov eax, dword [esp + 0x1748]
cmp di, ax
jne 0x429405
mov dx, word [esp + 0x174c]
cmp word [esp + 0x27e6], dx
je 0x429441
mov ax, word [esp + 0x27e6]
mov ecx, dword [esp + 0x174c]
cmp ax, cx
jmp 0x42942d
jbe 0x42940f
mov dword [esp + 0x14], 2
cmp di, ax
jmp 0x429437
jbe 0x42941e
mov dword [esp + 0x14], 2
cmp bp, ax
jmp 0x429437
mov eax, dword [esp + 0x1740]
cmp si, ax
jbe 0x429437
mov dword [esp + 0x14], 2
jae 0x429441
mov dword [esp + 0x14], 3
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x36a8]
push eax
lea ecx, [esp + 0x2874]
push ecx
mov ecx, dword [edx + 0xc]
call fcn.0044cf50
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x30]
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push ecx
push edx
push eax
lea ecx, [esp + 0x3ac8]
push str._d._d._d._d
push ecx
call esi
movzx eax, word [esp + 0x1760]
push ebx
push eax
movzx eax, word [esp + 0x1764]
push eax
movzx eax, word [esp + 0x1764]
push eax
lea edx, [esp + 0x2eb0]
push str._d._d._d._d
push edx
call esi
mov ebx, dword [esp + 0x48]
add esp, 0x30
cmp byte [esp + 0x1f], 0
je 0x4294cf
mov ecx, dword [ebx + 0xc]
lea eax, [esp + 0x2870]
push eax
call fcn.0044a070
lea ecx, [esp + 0x3ab8]
push ecx
push str.wszSrcVersion___s__n
call fcn.004454c0
lea edx, [esp + 0x2e90]
push edx
push str.wszInstalledVersion___s__n
call fcn.004454c0
lea eax, [esp + 0x78]
push eax
push str.wszInstalledDisplayVersion___s__n
call fcn.004454c0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x2ba]
push edx
mov word [esp + 0x2bc], cx
call fcn.00453450
xor eax, eax
push 0x1ffe
push eax
lea ecx, [esp + 0x4f36]
push ecx
mov word [esp + 0x4f38], ax
call fcn.00453450
lea eax, [ebx + 0x2ac8]
lea edx, [esp + 0x4f38]
add esp, 0x30
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x429550
lea edx, [esp + 0x4f08]
push edx
push 0x477afc
call fcn.004454c0
xor eax, eax
xor esi, esi
add esp, 8
xor edi, edi
xor ebp, ebp
mov word [esp + 0x27c4], si
mov word [esp + 0x27c6], ax
cmp word [esp + 0x4f08], ax
je 0x4297ae
push 0x1c2d0
call fcn.004534f0
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xbf14], 6
test eax, eax
je 0x4295c5
mov ecx, eax
call fcn.00444be0
mov ebx, eax
jmp 0x4295c7
xor ebx, ebx
push 0x477af8
lea ecx, [esp + 0x4f0c]
push ecx
mov ecx, ebx
mov dword [esp + 0xbf1c], 0xffffffff
call fcn.00444e30
cmp eax, 3
jl 0x429753
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x2c8a]
push eax
mov word [esp + 0x2c8c], dx
call fcn.00453450
add esp, 0xc
cmp byte [ebx + 0x1c2cc], 0
je 0x42962d
cmp dword [ebx + 0x1c2c8], 2
jg 0x429625
xor ecx, ecx
jmp 0x429640
lea ecx, [ebx + 0x42c8]
jmp 0x429640
cmp dword [ebx + 0x1c2c8], 2
jg 0x42963a
xor ecx, ecx
jmp 0x429640
lea ecx, [ebx + 0x208]
lea edx, [esp + 0x2c80]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x429647
cmp word [esp + 0x2c80], ax
je 0x429753
lea ecx, [esp + 0x2c80]
push 0x2e
push ecx
call fcn.00453bad
mov esi, eax
add esp, 8
test esi, esi
je 0x429697
lea edx, [esi + 2]
push edx
call fcn.00453b7c
add esp, 4
mov word [esp + 0x27c6], ax
xor eax, eax
mov word [esi], ax
lea ecx, [esp + 0x2c80]
push 0x2e
push ecx
call fcn.00453bad
mov esi, eax
add esp, 8
test esi, esi
je 0x4296c8
lea edx, [esi + 2]
push edx
call fcn.00453b7c
add esp, 4
mov word [esp + 0x27c4], ax
xor eax, eax
mov word [esi], ax
lea ecx, [esp + 0x2c80]
push 0x2e
push ecx
call fcn.00453bad
mov esi, eax
add esp, 8
test esi, esi
je 0x4296f4
lea edx, [esi + 2]
push edx
call fcn.00453b7c
add esp, 4
mov bp, ax
xor eax, eax
mov word [esi], ax
lea eax, [esp + 0x2c80]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x429700
sub eax, edx
sar eax, 1
je 0x429724
lea ecx, [esp + 0x2c80]
push ecx
call fcn.00453b7c
add esp, 4
mov di, ax
movzx edx, word [esp + 0x27c6]
movzx eax, word [esp + 0x27c4]
push edx
push eax
movzx ecx, bp
movzx edx, di
push ecx
push edx
push str.wSavedVer______d._d._d._d__n
call fcn.004454c0
mov si, word [esp + 0x27d8]
add esp, 0x14
test ebx, ebx
je 0x429767
mov ecx, ebx
call fcn.0043df40
push ebx
call fcn.004534ca
add esp, 4
mov eax, dword [esp + 0x1740]
cmp ax, di
jne 0x42979d
mov eax, dword [esp + 0x1744]
cmp ax, bp
jne 0x42979d
mov eax, dword [esp + 0x1748]
cmp ax, si
jne 0x42979d
mov eax, dword [esp + 0x174c]
mov cx, word [esp + 0x27c6]
cmp ax, cx
jbe 0x4297ae
mov esi, dword [esp + 0x18]
xor eax, eax
mov word [esi + 0x2ac8], ax
jmp 0x4297b2
mov esi, dword [esp + 0x18]
cmp word [esi + 0x2ac8], 0
jne 0x429806
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x36ac]
push edx
lea eax, [esp + 0x2e90]
push eax
lea ecx, [esp + 0x3ac4]
push ecx
lea edx, [esp + 0x2800]
push edx
lea eax, [esp + 0x2ac]
push str._s_s_s_s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
lea ecx, [esp + 0x298]
push ecx
mov ecx, esi
call fcn.00418f90
lea edx, [esp + 0x27f0]
push str.VERIFY_FILE_ARP_LOC
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x42a4e2
push 0x206
push eax
lea ecx, [esp + 0x287a]
push ecx
mov word [esp + 0x287c], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x2c96]
push eax
mov word [esp + 0x2c98], dx
call fcn.00453450
mov ebp, dword [esp + 0x48]
add esp, 0x18
cmp byte [ebp + 0x1c2cc], 0
je 0x429880
cmp dword [ebp + 0x1c2c8], 2
jg 0x429878
xor eax, eax
jmp 0x429893
lea eax, [ebp + 0x42c8]
jmp 0x429893
cmp dword [ebp + 0x1c2c8], 2
jg 0x42988d
xor eax, eax
jmp 0x429893
lea eax, [ebp + 0x208]
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push eax
lea ecx, [esp + 0x2874]
push 0x46de2c
push ecx
call esi
add esp, 0xc
cmp byte [ebp + 0x1c2cc], 0
je 0x4298ca
cmp dword [ebp + 0x1c2c8], 3
jg 0x4298c2
xor eax, eax
jmp 0x4298dd
lea eax, [ebp + 0x4ac8]
jmp 0x4298dd
cmp dword [ebp + 0x1c2c8], 3
jg 0x4298d7
xor eax, eax
jmp 0x4298dd
lea eax, [ebp + 0x30c]
push eax
lea edx, [esp + 0x2c84]
push 0x46de2c
push edx
call esi
mov ebx, dword [esp + 0x24]
add esp, 0xc
lea eax, [esp + 0x2870]
push eax
mov ecx, ebx
call fcn.004190c0
lea ecx, [esp + 0x2c80]
push ecx
mov ecx, ebx
call fcn.004190c0
lea edx, [esp + 0x2870]
push edx
push str.______s__n
call fcn.004454c0
lea eax, [esp + 0x2c88]
push eax
push str.______s__n
call fcn.004454c0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x30aa]
push edx
mov word [esp + 0x30ac], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x4ee]
push ecx
mov word [esp + 0x4f0], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x38e2]
push eax
mov word [esp + 0x38e4], dx
call fcn.00453450
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x3af6]
push edx
mov word [esp + 0x3af8], cx
call fcn.00453450
add esp, 0x40
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x32a2]
push ecx
mov word [esp + 0x32a4], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x36be]
push eax
mov word [esp + 0x36c0], dx
call fcn.00453450
add esp, 0x18
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x2c80]
mov word [esp + eax + 0x3298], cx
add eax, 2
test cx, cx
jne 0x4299f0
lea ecx, [esp + 0x3298]
push 0x7c
push ecx
call fcn.00453b87
add esp, 8
test eax, eax
je 0x429a3f
xor edx, edx
mov word [eax], dx
add eax, 2
lea edx, [esp + 0x36a8]
sub edx, eax
nop
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x429a30
lea eax, [esp + 0x3298]
push eax
push str.__wszSoftwareName_____s__n
call fcn.004454c0
lea ecx, [esp + 0x36b0]
push ecx
push str.__wszInstalledExe_____s__n
call fcn.004454c0
push 0x1058
lea edx, [esp + 0x4f1c]
push 0
push edx
call fcn.00453450
add esp, 0x1c
lea eax, [esp + 0x4f08]
push eax
lea ecx, [esp + 0x329c]
push ecx
mov ecx, ebx
call fcn.0041e6a0
cmp word [esp + 0x5728], 0
je 0x429ac0
lea edx, [esp + 0x36a8]
push edx
lea eax, [esp + 0x572c]
push eax
lea ecx, [esp + 0x2c88]
push 0x46ab98
push ecx
call esi
add esp, 0x10
jmp 0x429aca
xor edx, edx
mov word [esp + 0x2c80], dx
lea eax, [esp + 0x2c80]
push eax
push str.__wszDesFile_____s__n
call fcn.004454c0
xor edx, edx
add esp, 8
xor ecx, ecx
xor eax, eax
mov word [esp + 0x27aa], dx
push eax
lea edx, [esp + 0x2c84]
mov word [esp + 0x27ac], cx
mov word [esp + 0x27b2], cx
mov ecx, dword [ebx + 0xc]
push edx
mov word [esp + 0x27b4], ax
call fcn.004496a0
test al, al
je 0x42a1b9
mov ecx, dword [ebx + 0xc]
push str..cab
lea eax, [esp + 0x2874]
push eax
mov dword [esp + 0x1c], 1
call fcn.004495e0
test eax, eax
je 0x429cac
push str.CAB_file..._n
call fcn.004454c0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x34ae]
push edx
mov word [esp + 0x34b0], cx
call fcn.00453450
mov ecx, dword [ebx + 0xc]
add esp, 0x10
lea eax, [esp + 0x34a0]
push eax
push 0
push 0x477bc0
call fcn.0044a1a0
test eax, eax
je 0x429cac
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x2a82]
push edx
mov word [esp + 0x2a84], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2ae]
push ecx
mov word [esp + 0x2b0], ax
call fcn.00453450
lea edx, [esp + 0x2888]
push 0x7c
push edx
call fcn.00453b87
add esp, 0x20
test eax, eax
je 0x429c23
xor ecx, ecx
mov word [eax], cx
jmp 0x429bf0
movzx edx, word [esp + ecx + 0x2870]
mov word [esp + ecx + 0x2a78], dx
add ecx, 2
test dx, dx
jne 0x429bf0
add eax, 2
lea edx, [esp + 0x298]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x429c14
push 0xa48
call fcn.004534f0
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xbf14], 7
test eax, eax
je 0x429c4e
mov ecx, eax
call fcn.00445080
mov esi, eax
jmp 0x429c50
xor esi, esi
lea edx, [esp + 0x34a0]
push edx
lea eax, [esp + 0x29c]
push eax
lea ecx, [esp + 0x2a80]
push ecx
mov ecx, esi
mov dword [esp + 0xbf20], 0xffffffff
call fcn.00445250
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x34a0]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x429c80
test esi, esi
je 0x429cac
mov ecx, esi
call fcn.004452e0
push esi
call fcn.004534ca
add esp, 4
mov ecx, dword [ebx + 0xc]
push str..zip
lea edx, [esp + 0x2874]
push edx
mov byte [esp + 0x27], 0
call fcn.004495e0
test eax, eax
je 0x429eb6
push str.ZIP_file..._n
call fcn.004454c0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2a6]
push ecx
mov word [esp + 0x2a8], ax
call fcn.00453450
add esp, 0x10
lea edx, [esp + 0x298]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x429eb6
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2e92]
push ecx
mov word [esp + 0x2e94], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x2a8e]
push eax
mov word [esp + 0x2a90], dx
call fcn.00453450
lea ecx, [esp + 0x2888]
push 0x7c
push ecx
call fcn.00453b87
add esp, 0x20
test eax, eax
je 0x429da3
xor edx, edx
mov word [eax], dx
xor ecx, ecx
lea ebx, [ebx]
movzx edx, word [esp + ecx + 0x2870]
mov word [esp + ecx + 0x2e88], dx
add ecx, 2
test dx, dx
jne 0x429d70
add eax, 2
lea edx, [esp + 0x2a78]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x429d94
mov ecx, dword [ebx + 0xc]
push 0
lea eax, [esp + 0x2e8c]
push eax
call fcn.004496a0
test al, al
je 0x429eb6
lea ecx, [esp + 0x2a78]
push ecx
lea edx, [esp + 0x29c]
push edx
lea eax, [esp + 0x34a8]
push 0x474b44
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea ecx, [esp + 0x2e98]
push ecx
lea edx, [esp + 0x2a8c]
push edx
push str.Start_extract_File_____s__from___s__n
call fcn.004454c0
lea eax, [esp + 0x2ea4]
push 0
push eax
call fcn.00443e50
lea ecx, [esp + 0x2a9c]
push ecx
push str.tszFileName___s__n
mov esi, eax
mov dword [esp + 0x88], 0
call fcn.004454c0
lea edx, [esp + 0x94]
push edx
lea eax, [esp + 0x8c]
push eax
push 1
lea ecx, [esp + 0x2ab0]
push ecx
push esi
call fcn.004418b0
add esp, 0x40
test eax, eax
jne 0x429ead
mov edx, dword [esp + 0x5c]
push edx
lea eax, [esp + 0x70]
push eax
push str.ze.name___s__at_index__d_n
call fcn.004454c0
mov edx, dword [esp + 0x68]
lea ecx, [esp + 0x34ac]
push ecx
push edx
push esi
call fcn.00443ee0
push eax
push str._nRet__d_n
call fcn.004454c0
add esp, 0x20
xor eax, eax
jmp 0x429e90
movzx ecx, word [esp + eax + 0x34a0]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x429e90
mov byte [esp + 0x1f], 1
push esi
call fcn.00443f00
add esp, 4
mov edi, 4
xor esi, esi
cmp dword [esp + 0x40], edi
jle 0x429f61
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x34aa]
push ecx
mov word [esp + 0x34ac], ax
call fcn.00453450
add esp, 0xc
cmp byte [ebp + 0x1c2cc], 0
je 0x429f04
cmp dword [ebp + 0x1c2c8], edi
jg 0x429efc
xor eax, eax
jmp 0x429f16
lea eax, [ebp + 0x52c8]
jmp 0x429f16
cmp dword [ebp + 0x1c2c8], edi
jg 0x429f10
xor eax, eax
jmp 0x429f16
lea eax, [ebp + 0x410]
push eax
lea edx, [esp + 0x34a4]
push 0x46de2c
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x34ac]
push str.PRODUCTVERSION
push eax
call fcn.00453ad3
add esp, 0x14
test eax, eax
jne 0x429f46
lea esi, [eax + 1]
lea ecx, [esp + 0x34a0]
push str.FILEVERSION
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x429f61
xor esi, esi
mov dword [esp + 0x3c], 0
test esi, esi
jne 0x42a058
mov ecx, dword [ebx + 0xc]
lea edx, [esp + 0x2c80]
push edx
lea eax, [esp + 0x2874]
push eax
call fcn.0044ecd0
test eax, eax
jle 0x429f95
mov dword [esp + 0x14], 2
lea ecx, [esp + 0x2c80]
push ecx
mov ecx, dword [ebx + 0xc]
lea edx, [esp + 0x2874]
push edx
call fcn.0044ecd0
cmp eax, 0xffffffff
jne 0x429fba
mov dword [esp + 0x14], 3
mov ebp, dword [esp + 0x18]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x2874]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.0044c8b0
mov ecx, dword [ebp + 0xc]
mov esi, eax
mov bx, ax
mov eax, dword [esp + 0x3c]
mov edi, eax
lea edx, [esp + 0x3c]
mov word [esp + 0x27d6], ax
push edx
lea eax, [esp + 0x2c84]
push eax
shr esi, 0x10
shr edi, 0x10
mov dword [esp + 0x44], 0
call fcn.0044c8b0
mov ecx, dword [esp + 0x3c]
mov ebp, eax
shr eax, 0x10
mov word [esp + 0x27a8], ax
mov eax, ecx
shr eax, 0x10
mov word [esp + 0x27ae], cx
lea ecx, [esp + 0x3ab8]
mov word [esp + 0x27ac], ax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [eax + 0xc]
lea edx, [esp + 0x2c84]
push edx
mov word [esp + 0x27b2], bp
call fcn.0044caa0
jmp 0x42a143
cmp esi, 1
jne 0x42a1a2
mov ecx, dword [ebx + 0xc]
lea edx, [esp + 0x2c80]
push edx
lea eax, [esp + 0x2874]
push eax
call fcn.0044edc0
test eax, eax
jle 0x42a085
mov dword [esp + 0x14], 2
lea ecx, [esp + 0x2c80]
push ecx
mov ecx, dword [ebx + 0xc]
lea edx, [esp + 0x2874]
push edx
call fcn.0044edc0
cmp eax, 0xffffffff
jne 0x42a0aa
mov dword [esp + 0x14], 3
mov ebp, dword [esp + 0x18]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x2874]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.0044d400
mov ecx, dword [ebp + 0xc]
mov esi, eax
mov bx, ax
mov eax, dword [esp + 0x3c]
mov edi, eax
lea edx, [esp + 0x3c]
mov word [esp + 0x27d6], ax
push edx
lea eax, [esp + 0x2c84]
push eax
shr esi, 0x10
shr edi, 0x10
mov dword [esp + 0x44], 0
call fcn.0044d400
mov ecx, dword [esp + 0x3c]
mov ebp, eax
shr eax, 0x10
mov word [esp + 0x27a8], ax
mov eax, ecx
shr eax, 0x10
mov word [esp + 0x27ae], cx
lea ecx, [esp + 0x3ab8]
mov word [esp + 0x27ac], ax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [eax + 0xc]
lea edx, [esp + 0x2c84]
push edx
mov word [esp + 0x27b2], bp
call fcn.0044cf50
movzx ecx, word [esp + 0x27d6]
push ecx
movzx edx, di
push edx
movzx eax, bx
movzx ecx, si
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push eax
push ecx
lea edx, [esp + 0x30a0]
push str._d._d._d._d
push edx
call esi
movzx eax, word [esp + 0x27c6]
movzx ecx, word [esp + 0x27c4]
push eax
movzx eax, word [esp + 0x27c4]
push ecx
movzx edx, bp
push edx
push eax
lea ecx, [esp + 0x38d8]
push str._d._d._d._d
push ecx
call esi
mov ebx, dword [esp + 0x48]
add esp, 0x30
cmp byte [esp + 0x1f], 0
je 0x42a1b9
mov ecx, dword [ebx + 0xc]
lea edx, [esp + 0x2870]
push edx
call fcn.0044a070
lea eax, [esp + 0x3090]
push eax
push str.wszSrcVersion___s__n
call fcn.004454c0
lea ecx, [esp + 0x38b8]
push ecx
push str.wszInstalledVersion___s__n
call fcn.004454c0
lea edx, [esp + 0x3ac8]
push edx
push str.wszInstalledDisplayVersion___s__n
call fcn.004454c0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x3ce2]
push ecx
mov word [esp + 0x3ce4], ax
call fcn.00453450
xor edx, edx
push 0x1ffe
push edx
lea eax, [esp + 0x7f36]
push eax
mov word [esp + 0x7f38], dx
call fcn.00453450
lea eax, [ebx + 0x2ac8]
lea edx, [esp + 0x7f38]
add esp, 0x30
sub edx, eax
jmp 0x42a240
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x42a240
lea ecx, [esp + 0x7f08]
push ecx
push 0x477afc
call fcn.004454c0
xor edx, edx
xor esi, esi
add esp, 8
xor edi, edi
xor ebp, ebp
mov word [esp + 0x27cc], si
mov word [esp + 0x27ce], dx
cmp word [esp + 0x7f08], dx
je 0x42a48f
push 0x1c2d0
call fcn.004534f0
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xbf14], 8
test eax, eax
je 0x42a2b5
mov ecx, eax
call fcn.00444be0
mov ebx, eax
jmp 0x42a2b7
xor ebx, ebx
push 0x477af8
lea eax, [esp + 0x7f0c]
push eax
mov ecx, ebx
mov dword [esp + 0xbf1c], 0xffffffff
call fcn.00444e30
cmp eax, 3
jl 0x42a430
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x72]
push edx
mov word [esp + 0x74], cx
call fcn.00453450
add esp, 0xc
cmp byte [ebx + 0x1c2cc], 0
je 0x42a317
cmp dword [ebx + 0x1c2c8], 2
jg 0x42a30f
xor ecx, ecx
jmp 0x42a32a
lea ecx, [ebx + 0x42c8]
jmp 0x42a32a
cmp dword [ebx + 0x1c2c8], 2
jg 0x42a324
xor ecx, ecx
jmp 0x42a32a
lea ecx, [ebx + 0x208]
lea edx, [esp + 0x68]
mov edi, edi
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x42a330
cmp word [esp + 0x68], ax
je 0x42a430
lea eax, [esp + 0x68]
push 0x2e
push eax
call fcn.00453bad
mov esi, eax
add esp, 8
test esi, esi
je 0x42a37a
lea ecx, [esi + 2]
push ecx
call fcn.00453b7c
add esp, 4
xor edx, edx
mov word [esp + 0x27ce], ax
mov word [esi], dx
lea eax, [esp + 0x68]
push 0x2e
push eax
call fcn.00453bad
mov esi, eax
add esp, 8
test esi, esi
je 0x42a3a8
lea ecx, [esi + 2]
push ecx
call fcn.00453b7c
add esp, 4
xor edx, edx
mov word [esp + 0x27cc], ax
mov word [esi], dx
lea eax, [esp + 0x68]
push 0x2e
push eax
call fcn.00453bad
mov esi, eax
add esp, 8
test esi, esi
je 0x42a3d1
lea ecx, [esi + 2]
push ecx
call fcn.00453b7c
add esp, 4
xor edx, edx
mov bp, ax
mov word [esi], dx
lea eax, [esp + 0x68]
lea edx, [eax + 2]
jmp 0x42a3e0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42a3e0
sub eax, edx
sar eax, 1
je 0x42a401
lea eax, [esp + 0x68]
push eax
call fcn.00453b7c
add esp, 4
mov di, ax
movzx ecx, word [esp + 0x27ce]
movzx edx, word [esp + 0x27cc]
push ecx
push edx
movzx eax, bp
movzx ecx, di
push eax
push ecx
push str.wSavedVer______d._d._d._d__n
call fcn.004454c0
mov si, word [esp + 0x27e0]
add esp, 0x14
test ebx, ebx
je 0x42a444
mov ecx, ebx
call fcn.0043df40
push ebx
call fcn.004534ca
add esp, 4
mov ax, word [esp + 0x27a8]
cmp ax, di
jne 0x42a47e
mov ax, word [esp + 0x27aa]
cmp ax, bp
jne 0x42a47e
mov ax, word [esp + 0x27ac]
cmp ax, si
jne 0x42a47e
mov ax, word [esp + 0x27ae]
mov cx, word [esp + 0x27ce]
cmp ax, cx
jbe 0x42a48f
mov esi, dword [esp + 0x18]
xor edx, edx
mov word [esi + 0x2ac8], dx
jmp 0x42a493
mov esi, dword [esp + 0x18]
cmp word [esi + 0x2ac8], 0
jne 0x42a4e2
lea eax, [esp + 0x3ab8]
push eax
lea ecx, [esp + 0x4cc]
push ecx
lea edx, [esp + 0x38b8]
push edx
lea eax, [esp + 0x309c]
push eax
lea ecx, [esp + 0x3cd0]
push str.VERIFY_FILE_ARP_LOC_s_s_s_s
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
lea edx, [esp + 0x3cc0]
push edx
mov ecx, esi
call fcn.00418f90
lea eax, [esp + 0x27f0]
push str.VERIFY_FILE_SERVICE
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x42ac92
mov ebx, dword [esp + 0x18]
push str.VERIFY_FILE_SERVICE
mov ecx, ebx
call fcn.00418f90
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x2c8a]
push edx
mov word [esp + 0x2c8c], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2886]
push ecx
mov word [esp + 0x2888], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x2a9a]
push eax
mov word [esp + 0x2a9c], dx
call fcn.00453450
mov esi, dword [esp + 0x54]
add esp, 0x24
cmp byte [esi + 0x1c2cc], 0
je 0x42a58b
cmp dword [esi + 0x1c2c8], 2
jg 0x42a583
xor eax, eax
jmp 0x42a59e
lea eax, [esi + 0x42c8]
jmp 0x42a59e
cmp dword [esi + 0x1c2c8], 2
jg 0x42a598
xor eax, eax
jmp 0x42a59e
lea eax, [esi + 0x208]
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
push eax
lea ecx, [esp + 0x2c84]
push 0x46de2c
push ecx
call edi
add esp, 0xc
cmp byte [esi + 0x1c2cc], 0
je 0x42a5d5
cmp dword [esi + 0x1c2c8], 3
jg 0x42a5cd
xor eax, eax
jmp 0x42a5e8
lea eax, [esi + 0x4ac8]
jmp 0x42a5e8
cmp dword [esi + 0x1c2c8], 3
jg 0x42a5e2
xor eax, eax
jmp 0x42a5e8
lea eax, [esi + 0x30c]
push eax
lea edx, [esp + 0x2874]
push 0x46de2c
push edx
call edi
add esp, 0xc
lea eax, [esp + 0x2c80]
push eax
mov ecx, ebx
call fcn.004190c0
lea ecx, [esp + 0x2870]
push ecx
mov ecx, ebx
call fcn.004190c0
lea edx, [esp + 0x2c80]
push edx
push str.______s__n
call fcn.004454c0
lea eax, [esp + 0x2878]
push eax
push str.______s__n
call fcn.004454c0
push 0x34
call fcn.004534f0
add esp, 0x14
mov dword [esp + 0x24], eax
mov dword [esp + 0xbf14], 9
test eax, eax
je 0x42a665
mov ecx, eax
call fcn.0044f630
mov ebx, eax
jmp 0x42a667
xor ebx, ebx
lea ecx, [esp + 0x4c]
push ecx
push 0
push 0
lea edx, [esp + 0x287c]
push edx
push 0
mov ecx, ebx
mov dword [esp + 0xbf28], 0xffffffff
mov dword [esp + 0x60], 0
call fcn.0044f430
mov eax, dword [esp + 0x4c]
test eax, eax
jbe 0x42a760
push eax
call fcn.00453c61
mov ecx, dword [esp + 0x50]
add esp, 4
mov esi, eax
lea eax, [esp + 0x4c]
push eax
push ecx
push esi
lea edx, [esp + 0x287c]
push edx
push 0
mov ecx, ebx
call fcn.0044f430
test al, al
je 0x42a74d
mov eax, dword [esi + 0xc]
test eax, eax
je 0x42a74d
push eax
push str.lpBinaryPathName___s__n
call fcn.004454c0
mov ecx, dword [esi + 0xc]
add esp, 8
lea edx, [esp + 0x2a78]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x42a6f2
lea eax, [esp + 0x2a78]
push eax
push str.wszServiceFile___s__n
call fcn.004454c0
mov ebp, dword [esp + 0x20]
add esp, 8
push 0x46b804
push 0x46e600
lea ecx, [esp + 0x2a80]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.00449bc0
lea edx, [esp + 0x2a78]
push edx
push str.wszServiceFile___s__n
call fcn.004454c0
add esp, 8
jmp 0x42a751
mov ebp, dword [esp + 0x18]
test esi, esi
je 0x42a764
push esi
call fcn.00453c56
add esp, 4
jmp 0x42a764
mov ebp, dword [esp + 0x18]
test ebx, ebx
je 0x42a778
mov ecx, ebx
call fcn.0044f880
push ebx
call fcn.004534ca
add esp, 4
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x2a78]
mov word [esp + eax + 0x2870], cx
add eax, 2
test cx, cx
jne 0x42a780
mov ecx, dword [ebp + 0xc]
push 0
lea eax, [esp + 0x2874]
push eax
call fcn.004496a0
test al, al
je 0x42ac92
push str..cab
lea ecx, [esp + 0x2c84]
push ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x1c], 1
call fcn.004495e0
test eax, eax
je 0x42a93c
push str.CAB_file..._n
call fcn.004454c0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x36b6]
push eax
mov word [esp + 0x36b8], dx
call fcn.00453450
add esp, 0x10
lea ecx, [esp + 0x36a8]
push ecx
mov ecx, dword [ebp + 0xc]
push 0
push 0x477bc0
call fcn.0044a1a0
test eax, eax
je 0x42a93c
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x2a2]
push eax
mov word [esp + 0x2a4], dx
call fcn.00453450
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x3cd6]
push edx
mov word [esp + 0x3cd8], cx
call fcn.00453450
lea eax, [esp + 0x2c98]
push 0x7c
push eax
call fcn.00453b87
add esp, 0x20
test eax, eax
je 0x42a8b3
xor ecx, ecx
mov word [eax], cx
jmp 0x42a880
movzx edx, word [esp + ecx + 0x2c80]
mov word [esp + ecx + 0x298], dx
add ecx, 2
test dx, dx
jne 0x42a880
add eax, 2
lea edx, [esp + 0x3cc0]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x42a8a4
push 0xa48
call fcn.004534f0
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xbf14], 0xa
test eax, eax
je 0x42a8de
mov ecx, eax
call fcn.00445080
mov esi, eax
jmp 0x42a8e0
xor esi, esi
lea edx, [esp + 0x36a8]
push edx
lea eax, [esp + 0x3cc4]
push eax
lea ecx, [esp + 0x2a0]
push ecx
mov ecx, esi
mov dword [esp + 0xbf20], 0xffffffff
call fcn.00445250
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x36a8]
mov word [esp + eax + 0x2c80], cx
add eax, 2
test cx, cx
jne 0x42a910
test esi, esi
je 0x42a93c
mov ecx, esi
call fcn.004452e0
push esi
call fcn.004534ca
add esp, 4
mov ecx, dword [ebp + 0xc]
push str..zip
lea edx, [esp + 0x2c84]
push edx
xor bl, bl
call fcn.004495e0
test eax, eax
je 0x42ab43
push str.ZIP_file..._n
call fcn.004454c0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x3cce]
push ecx
mov word [esp + 0x3cd0], ax
call fcn.00453450
add esp, 0x10
lea edx, [esp + 0x3cc0]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x42ab43
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x309a]
push ecx
mov word [esp + 0x309c], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x2e9e]
push eax
mov word [esp + 0x2ea0], dx
call fcn.00453450
lea ecx, [esp + 0x2c98]
push 0x7c
push ecx
call fcn.00453b87
add esp, 0x20
test eax, eax
je 0x42aa33
xor edx, edx
mov word [eax], dx
xor ecx, ecx
jmp 0x42aa00
movzx edx, word [esp + ecx + 0x2c80]
mov word [esp + ecx + 0x3090], dx
add ecx, 2
test dx, dx
jne 0x42aa00
add eax, 2
lea edx, [esp + 0x2e88]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x42aa24
mov ecx, dword [ebp + 0xc]
push 0
lea eax, [esp + 0x3094]
push eax
call fcn.004496a0
test al, al
je 0x42ab43
lea ecx, [esp + 0x2e88]
push ecx
lea edx, [esp + 0x3cc4]
push edx
lea eax, [esp + 0x4d0]
push 0x474b44
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea ecx, [esp + 0x30a0]
push ecx
lea edx, [esp + 0x2e9c]
push edx
push str.Start_extract_File_____s__from___s__n
call fcn.004454c0
lea eax, [esp + 0x30ac]
push 0
push eax
call fcn.00443e50
lea ecx, [esp + 0x2eac]
push ecx
push str.tszFileName___s__n
mov esi, eax
mov dword [esp + 0x7c], 0
call fcn.004454c0
lea edx, [esp + 0x2c4]
push edx
lea eax, [esp + 0x80]
push eax
push 1
lea ecx, [esp + 0x2ec0]
push ecx
push esi
call fcn.004418b0
add esp, 0x40
test eax, eax
jne 0x42ab3a
mov edx, dword [esp + 0x50]
push edx
lea eax, [esp + 0x2a0]
push eax
push str.ze.name___s__at_index__d_n
call fcn.004454c0
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x4d4]
push ecx
push edx
push esi
call fcn.00443ee0
push eax
push str._nRet__d_n
call fcn.004454c0
add esp, 0x20
xor eax, eax
jmp 0x42ab20
movzx ecx, word [esp + eax + 0x4c8]
mov word [esp + eax + 0x2c80], cx
add eax, 2
test cx, cx
jne 0x42ab20
mov bl, 1
push esi
call fcn.00443f00
add esp, 4
mov edi, 4
xor esi, esi
cmp dword [esp + 0x40], edi
jle 0x42abf2
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x36b2]
push ecx
mov word [esp + 0x36b4], ax
call fcn.00453450
mov eax, dword [esp + 0x3c]
add esp, 0xc
cmp byte [eax + 0x1c2cc], 0
je 0x42ab94
cmp dword [eax + 0x1c2c8], edi
jg 0x42ab8d
xor eax, eax
jmp 0x42aba5
add eax, 0x52c8
jmp 0x42aba5
cmp dword [eax + 0x1c2c8], edi
jg 0x42aba0
xor eax, eax
jmp 0x42aba5
add eax, 0x410
push eax
lea edx, [esp + 0x36ac]
push 0x46de2c
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x36b4]
push str.PRODUCTVERSION
push eax
call fcn.00453ad3
add esp, 0x14
test eax, eax
jne 0x42abd5
lea esi, [eax + 1]
lea ecx, [esp + 0x36a8]
push str.FILEVERSION
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
je 0x42abf2
test esi, esi
jne 0x42ac30
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x2870]
push edx
lea eax, [esp + 0x2c84]
push eax
call fcn.0044ecd0
test eax, eax
jle 0x42ac16
mov dword [esp + 0x14], 2
lea ecx, [esp + 0x2870]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x2c84]
push edx
call fcn.0044ecd0
jmp 0x42ac71
cmp esi, 1
jne 0x42ac7e
lea eax, [esp + 0x2870]
push eax
lea ecx, [esp + 0x2c84]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.0044edc0
test eax, eax
jle 0x42ac59
mov dword [esp + 0x14], 2
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x2870]
push edx
lea eax, [esp + 0x2c84]
push eax
call fcn.0044edc0
cmp eax, 0xffffffff
jne 0x42ac7e
mov dword [esp + 0x14], 3
test bl, bl
je 0x42ac92
lea ecx, [esp + 0x2c80]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.0044a070
lea edx, [esp + 0x27f0]
push str.VERIFY_FILE
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x42b845
push 0x206
push eax
lea ecx, [esp + 0x3ed2]
push ecx
mov word [esp + 0x3ed4], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x40e6]
push eax
mov word [esp + 0x40e8], dx
call fcn.00453450
mov edi, dword [esp + 0x48]
add esp, 0x18
cmp byte [edi + 0x1c2cc], 0
je 0x42ad0c
cmp dword [edi + 0x1c2c8], 2
jg 0x42ad04
xor eax, eax
jmp 0x42ad1f
lea eax, [edi + 0x42c8]
jmp 0x42ad1f
cmp dword [edi + 0x1c2c8], 2
jg 0x42ad19
xor eax, eax
jmp 0x42ad1f
lea eax, [edi + 0x208]
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push eax
lea ecx, [esp + 0x3ecc]
push 0x46de2c
push ecx
call esi
add esp, 0xc
cmp byte [edi + 0x1c2cc], 0
je 0x42ad56
cmp dword [edi + 0x1c2c8], 3
jg 0x42ad4e
xor eax, eax
jmp 0x42ad69
lea eax, [edi + 0x4ac8]
jmp 0x42ad69
cmp dword [edi + 0x1c2c8], 3
jg 0x42ad63
xor eax, eax
jmp 0x42ad69
lea eax, [edi + 0x30c]
push eax
lea edx, [esp + 0x40d4]
push 0x46de2c
push edx
call esi
mov ebp, dword [esp + 0x24]
add esp, 0xc
lea eax, [esp + 0x3ec8]
push eax
mov ecx, ebp
call fcn.004190c0
lea ecx, [esp + 0x40d0]
push ecx
mov ecx, ebp
call fcn.004190c0
lea edx, [esp + 0x3ec8]
push edx
push str.______s__n
call fcn.004454c0
lea eax, [esp + 0x40d8]
push eax
push str.______s__n
call fcn.004454c0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x4702]
push edx
mov word [esp + 0x4704], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x4d26]
push ecx
mov word [esp + 0x4d28], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x4512]
push eax
mov word [esp + 0x4514], dx
call fcn.00453450
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x492e]
push edx
mov word [esp + 0x4930], cx
call fcn.00453450
xor ecx, ecx
add esp, 0x40
xor edx, edx
mov word [esp + 0x27b2], cx
push edx
lea ecx, [esp + 0x40d4]
xor eax, eax
push ecx
mov ecx, dword [ebp + 0xc]
mov word [esp + 0x27b8], ax
mov word [esp + 0x27bc], dx
mov word [esp + 0x27be], ax
call fcn.004496a0
test al, al
je 0x42b509
mov ecx, dword [ebp + 0xc]
push str..cab
lea edx, [esp + 0x3ecc]
push edx
mov dword [esp + 0x1c], 1
call fcn.004495e0
test eax, eax
je 0x42affc
push str.CAB_file..._n
call fcn.004454c0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x36b6]
push ecx
mov word [esp + 0x36b8], ax
call fcn.00453450
mov ecx, dword [ebp + 0xc]
add esp, 0x10
lea edx, [esp + 0x36a8]
push edx
push 0
push 0x477bc0
call fcn.0044a1a0
test eax, eax
je 0x42affc
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2a2]
push ecx
mov word [esp + 0x2a4], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x3cd6]
push eax
mov word [esp + 0x3cd8], dx
call fcn.00453450
lea ecx, [esp + 0x3ee0]
push 0x7c
push ecx
call fcn.00453b87
add esp, 0x20
test eax, eax
je 0x42af73
xor edx, edx
mov word [eax], dx
xor ecx, ecx
lea ecx, [ecx]
movzx edx, word [esp + ecx + 0x3ec8]
mov word [esp + ecx + 0x298], dx
add ecx, 2
test dx, dx
jne 0x42af40
add eax, 2
lea edx, [esp + 0x3cc0]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x42af64
push 0xa48
call fcn.004534f0
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xbf14], 0xb
test eax, eax
je 0x42af9e
mov ecx, eax
call fcn.00445080
mov esi, eax
jmp 0x42afa0
xor esi, esi
lea eax, [esp + 0x36a8]
push eax
lea ecx, [esp + 0x3cc4]
push ecx
lea edx, [esp + 0x2a0]
push edx
mov ecx, esi
mov dword [esp + 0xbf20], 0xffffffff
call fcn.00445250
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x36a8]
mov word [esp + eax + 0x3ec8], cx
add eax, 2
test cx, cx
jne 0x42afd0
test esi, esi
je 0x42affc
mov ecx, esi
call fcn.004452e0
push esi
call fcn.004534ca
add esp, 4
mov ecx, dword [ebp + 0xc]
push str..zip
lea eax, [esp + 0x3ecc]
push eax
mov byte [esp + 0x27], 0
call fcn.004495e0
test eax, eax
je 0x42b206
push str.ZIP_file..._n
call fcn.004454c0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x3cce]
push edx
mov word [esp + 0x3cd0], cx
call fcn.00453450
add esp, 0x10
lea eax, [esp + 0x3cc0]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x42b206
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x309a]
push edx
mov word [esp + 0x309c], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2a8e]
push ecx
mov word [esp + 0x2a90], ax
call fcn.00453450
lea edx, [esp + 0x3ee0]
push 0x7c
push edx
call fcn.00453b87
add esp, 0x20
test eax, eax
je 0x42b0f3
xor ecx, ecx
mov word [eax], cx
jmp 0x42b0c0
movzx edx, word [esp + ecx + 0x3ec8]
mov word [esp + ecx + 0x3090], dx
add ecx, 2
test dx, dx
jne 0x42b0c0
add eax, 2
lea edx, [esp + 0x2a78]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x42b0e4
mov ecx, dword [ebp + 0xc]
push 0
lea edx, [esp + 0x3094]
push edx
call fcn.004496a0
test al, al
je 0x42b206
lea eax, [esp + 0x2a78]
push eax
lea ecx, [esp + 0x3cc4]
push ecx
lea edx, [esp + 0x4d0]
push 0x474b44
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x30a0]
push eax
lea ecx, [esp + 0x2a8c]
push ecx
push str.Start_extract_File_____s__from___s__n
call fcn.004454c0
lea edx, [esp + 0x30ac]
push 0
push edx
call fcn.00443e50
mov esi, eax
lea eax, [esp + 0x2a9c]
push eax
push str.tszFileName___s__n
mov dword [esp + 0x80], 0
call fcn.004454c0
lea ecx, [esp + 0x2c4]
push ecx
lea edx, [esp + 0x84]
push edx
push 1
lea eax, [esp + 0x2ab0]
push eax
push esi
call fcn.004418b0
add esp, 0x40
test eax, eax
jne 0x42b1fd
mov ecx, dword [esp + 0x54]
push ecx
lea edx, [esp + 0x2a0]
push edx
push str.ze.name___s__at_index__d_n
call fcn.004454c0
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x4d4]
push eax
push ecx
push esi
call fcn.00443ee0
push eax
push str._nRet__d_n
call fcn.004454c0
add esp, 0x20
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x4c8]
mov word [esp + eax + 0x3ec8], cx
add eax, 2
test cx, cx
jne 0x42b1e0
mov byte [esp + 0x1f], 1
push esi
call fcn.00443f00
add esp, 4
mov ebx, 4
xor esi, esi
cmp dword [esp + 0x40], ebx
jle 0x42b2b1
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x36b2]
push eax
mov word [esp + 0x36b4], dx
call fcn.00453450
add esp, 0xc
cmp byte [edi + 0x1c2cc], 0
je 0x42b254
cmp dword [edi + 0x1c2c8], ebx
jg 0x42b24c
xor eax, eax
jmp 0x42b266
lea eax, [edi + 0x52c8]
jmp 0x42b266
cmp dword [edi + 0x1c2c8], ebx
jg 0x42b260
xor eax, eax
jmp 0x42b266
lea eax, [edi + 0x410]
push eax
lea ecx, [esp + 0x36ac]
push 0x46de2c
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea edx, [esp + 0x36b4]
push str.PRODUCTVERSION
push edx
call fcn.00453ad3
add esp, 0x14
test eax, eax
jne 0x42b296
lea esi, [eax + 1]
lea eax, [esp + 0x36a8]
push str.FILEVERSION
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x42b2b1
xor esi, esi
mov dword [esp + 0x38], 0
test esi, esi
jne 0x42b3a8
lea ecx, [esp + 0x40d0]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x3ecc]
push edx
call fcn.0044ecd0
test eax, eax
jle 0x42b2e5
mov dword [esp + 0x14], 2
lea eax, [esp + 0x40d0]
push eax
lea ecx, [esp + 0x3ecc]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.0044ecd0
cmp eax, 0xffffffff
jne 0x42b30a
mov dword [esp + 0x14], 3
mov ebp, dword [esp + 0x18]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x3ecc]
push eax
call fcn.0044c8b0
mov esi, eax
mov bx, ax
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x40d4]
mov edi, eax
push edx
shr esi, 0x10
shr edi, 0x10
mov word [esp + 0x27e6], ax
mov dword [esp + 0x40], 0
call fcn.0044c8b0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
mov ebp, eax
shr eax, 0x10
mov word [esp + 0x27b0], ax
mov eax, ecx
shr eax, 0x10
mov word [esp + 0x27b4], ax
mov word [esp + 0x27b6], cx
lea eax, [esp + 0x48f0]
push eax
lea ecx, [esp + 0x40d4]
push ecx
mov ecx, dword [edx + 0xc]
mov word [esp + 0x27ba], bp
call fcn.0044caa0
jmp 0x42b493
cmp esi, 1
jne 0x42b4f2
lea ecx, [esp + 0x40d0]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x3ecc]
push edx
call fcn.0044edc0
test eax, eax
jle 0x42b3d5
mov dword [esp + 0x14], 2
lea eax, [esp + 0x40d0]
push eax
lea ecx, [esp + 0x3ecc]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.0044edc0
cmp eax, 0xffffffff
jne 0x42b3fa
mov dword [esp + 0x14], 3
mov ebp, dword [esp + 0x18]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x3ecc]
push eax
call fcn.0044d400
mov esi, eax
mov bx, ax
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x40d4]
mov edi, eax
push edx
shr esi, 0x10
shr edi, 0x10
mov word [esp + 0x27e6], ax
mov dword [esp + 0x40], 0
call fcn.0044d400
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
mov ebp, eax
shr eax, 0x10
mov word [esp + 0x27b0], ax
mov eax, ecx
shr eax, 0x10
mov word [esp + 0x27b4], ax
mov word [esp + 0x27b6], cx
lea eax, [esp + 0x48f0]
push eax
lea ecx, [esp + 0x40d4]
push ecx
mov ecx, dword [edx + 0xc]
mov word [esp + 0x27ba], bp
call fcn.0044cf50
movzx eax, word [esp + 0x27de]
push eax
movzx ecx, di
push ecx
movzx edx, bx
movzx eax, si
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push edx
push eax
lea ecx, [esp + 0x46f8]
push str._d._d._d._d
push ecx
call esi
movzx edx, word [esp + 0x27ce]
movzx eax, word [esp + 0x27cc]
push edx
movzx edx, word [esp + 0x27cc]
push eax
movzx ecx, bp
push ecx
push edx
lea eax, [esp + 0x4508]
push str._d._d._d._d
push eax
call esi
mov ebp, dword [esp + 0x48]
add esp, 0x30
cmp byte [esp + 0x1f], 0
je 0x42b509
lea ecx, [esp + 0x3ec8]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.0044a070
lea edx, [esp + 0x46e8]
push edx
push str.wszSrcVersion___s__n
call fcn.004454c0
lea eax, [esp + 0x44e8]
push eax
push str.wszInstalledVersion___s__n
call fcn.004454c0
lea ecx, [esp + 0x4900]
push ecx
push str.wszInstalledDisplayVersion___s__n
call fcn.004454c0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x4b1a]
push eax
mov word [esp + 0x4b1c], dx
call fcn.00453450
xor ecx, ecx
push 0x1ffe
push ecx
lea edx, [esp + 0x9f36]
push edx
mov word [esp + 0x9f38], cx
call fcn.00453450
lea eax, [ebp + 0x2ac8]
lea edx, [esp + 0x9f38]
add esp, 0x30
sub edx, eax
jmp 0x42b590
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x42b590
lea eax, [esp + 0x9f08]
push eax
push 0x477afc
call fcn.004454c0
xor ecx, ecx
xor esi, esi
add esp, 8
xor edi, edi
xor ebp, ebp
mov word [esp + 0x27bc], si
mov word [esp + 0x27be], cx
cmp word [esp + 0x9f08], cx
je 0x42b7f2
push 0x1c2d0
call fcn.004534f0
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xbf14], 0xc
test eax, eax
je 0x42b605
mov ecx, eax
call fcn.00444be0
mov ebx, eax
jmp 0x42b607
xor ebx, ebx
push 0x477af8
lea edx, [esp + 0x9f0c]
push edx
mov ecx, ebx
mov dword [esp + 0xbf1c], 0xffffffff
call fcn.00444e30
cmp eax, 3
jl 0x42b793
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x42e2]
push ecx
mov word [esp + 0x42e4], ax
call fcn.00453450
add esp, 0xc
cmp byte [ebx + 0x1c2cc], 0
je 0x42b66d
cmp dword [ebx + 0x1c2c8], 2
jg 0x42b665
xor ecx, ecx
jmp 0x42b680
lea ecx, [ebx + 0x42c8]
jmp 0x42b680
cmp dword [ebx + 0x1c2c8], 2
jg 0x42b67a
xor ecx, ecx
jmp 0x42b680
lea ecx, [ebx + 0x208]
lea edx, [esp + 0x42d8]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x42b687
cmp word [esp + 0x42d8], ax
je 0x42b793
lea edx, [esp + 0x42d8]
push 0x2e
push edx
call fcn.00453bad
mov esi, eax
add esp, 8
test esi, esi
je 0x42b6d7
lea eax, [esi + 2]
push eax
call fcn.00453b7c
add esp, 4
xor ecx, ecx
mov word [esp + 0x27be], ax
mov word [esi], cx
lea edx, [esp + 0x42d8]
push 0x2e
push edx
call fcn.00453bad
mov esi, eax
add esp, 8
test esi, esi
je 0x42b708
lea eax, [esi + 2]
push eax
call fcn.00453b7c
add esp, 4
xor ecx, ecx
mov word [esp + 0x27bc], ax
mov word [esi], cx
lea edx, [esp + 0x42d8]
push 0x2e
push edx
call fcn.00453bad
mov esi, eax
add esp, 8
test esi, esi
je 0x42b734
lea eax, [esi + 2]
push eax
call fcn.00453b7c
add esp, 4
xor ecx, ecx
mov bp, ax
mov word [esi], cx
lea eax, [esp + 0x42d8]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42b740
sub eax, edx
sar eax, 1
je 0x42b764
lea edx, [esp + 0x42d8]
push edx
call fcn.00453b7c
add esp, 4
mov di, ax
movzx eax, word [esp + 0x27be]
movzx ecx, word [esp + 0x27bc]
push eax
push ecx
movzx edx, bp
movzx eax, di
push edx
push eax
push str.wSavedVer______d._d._d._d__n
call fcn.004454c0
mov si, word [esp + 0x27d0]
add esp, 0x14
test ebx, ebx
je 0x42b7a7
mov ecx, ebx
call fcn.0043df40
push ebx
call fcn.004534ca
add esp, 4
mov ax, word [esp + 0x27b0]
cmp ax, di
jne 0x42b7e1
mov ax, word [esp + 0x27b2]
cmp ax, bp
jne 0x42b7e1
mov ax, word [esp + 0x27b4]
cmp ax, si
jne 0x42b7e1
mov ax, word [esp + 0x27b6]
mov cx, word [esp + 0x27be]
cmp ax, cx
jbe 0x42b7f2
mov esi, dword [esp + 0x18]
xor ecx, ecx
mov word [esi + 0x2ac8], cx
jmp 0x42b7f6
mov esi, dword [esp + 0x18]
cmp word [esi + 0x2ac8], 0
jne 0x42b845
lea edx, [esp + 0x48f0]
push edx
lea eax, [esp + 0x4d04]
push eax
lea ecx, [esp + 0x44e8]
push ecx
lea edx, [esp + 0x46f4]
push edx
lea eax, [esp + 0x4b08]
push str.VERIFY_FILE_s_s_s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
lea ecx, [esp + 0x4af8]
push ecx
mov ecx, esi
call fcn.00418f90
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x48]
push edi
push esi
push str.nFinalRet___d____nRet___d__n
call fcn.004454c0
add esp, 0xc
cmp edi, 3
jne 0x42b865
mov esi, edi
jmp 0x42b87e
cmp edi, 1
jne 0x42b873
cmp esi, 3
je 0x42b882
mov esi, edi
jmp 0x42b87e
cmp edi, 2
jne 0x42b882
test esi, esi
jne 0x42b882
mov esi, edi
mov dword [esp + 0x48], esi
push esi
push str.nFinalRet___d__n
call fcn.004454c0
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x38]
add esp, 8
mov ecx, ebp
call fcn.0043df40
push ebp
call fcn.004534ca
mov ecx, dword [edi + 4]
add esp, 4
push 0
lea edx, [esp + 0x6f0c]
push edx
inc esi
push esi
push ebx
mov dword [esp + 0x70], esi
call fcn.00409a10
test al, al
jne 0x427189
mov eax, dword [esp + 0x48]
jmp 0x42b8d9
mov eax, ebp
mov ecx, dword [esp + 0xbf0c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xbef4]
xor ecx, esp
call fcn.00453432
add esp, 0xbf04
ret 4