Function at 0x405c70
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x445f51
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa24
mov eax, dword [0x45b1e4]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push ebp
push esi
push edi
mov edi, dword [esp + 0xa44]
push edi
push 0x104
mov dword [esp + 0xa38], eax
lea eax, [esp + 0x60]
push eax
push 0x448de4
push str.DefaultPath
push str.Globals
mov ebp, ecx
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x1c]
call fcn.004290eb
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.004032d0
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x448de4
push str.MainPageUrl
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x34]
call fcn.004290eb
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.004032d0
mov esi, dword [ebp + 4]
test esi, esi
jne 0x405d27
xor eax, eax
jmp 0x405d30
push esi
call fcn.004290eb
add esp, 4
push eax
push esi
lea ecx, [ebp + 0x34]
call fcn.004032d0
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x448de4
push str.baiduUrl
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x40]
call fcn.004290eb
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.004032d0
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x448de4
push str.baiduUrlLast
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x44]
call fcn.004290eb
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.004032d0
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x448de4
push str.MainPageTitle
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x38]
call fcn.004290eb
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.00403080
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x448de4
push str.MainDlgTitle
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x3c]
call fcn.004290eb
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.00403080
push edi
push 0x5dc
lea eax, [esp + 0x60]
push eax
push 0x448de4
push str.VectorContainUsUrl
push str.Globals
call ebx
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00404410
mov ecx, ebp
call fcn.00405990
push edi
push 0x5dc
lea eax, [esp + 0x60]
push eax
push 0x448de4
push str.VectorBaiduUrl
push str.Globals
call ebx
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00404410
mov ecx, ebp
call fcn.00405820
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x448de4
push str.googleUrl
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x80]
call fcn.004290eb
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.004032d0
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x448de4
push str.SendInstallUrlHost
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x24]
call fcn.004290eb
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.004032d0
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x448de4
push str.WnType
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x84]
call fcn.004290eb
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.004032d0
push edi
push 0x5dc
lea eax, [esp + 0x60]
push eax
push 0x448de4
push str.VectorWbWgTranMBFile
push str.Globals
call ebx
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00404410
mov ecx, ebp
call fcn.00405b00
call fcn.00438ca4
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov dword [esp + 0xa3c], 0
call fcn.00438ca4
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea esi, [eax + 0x10]
mov dword [esp + 0x10], esi
push str.OtherItemName
mov byte [esp + 0xa40], 1
call fcn.004290eb
add esp, 4
push eax
push str.OtherItemName
lea ecx, [esp + 0x1c]
call fcn.00403080
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x405fe8
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push eax
push str.Globals
call ebx
test esi, esi
jne 0x406008
xor eax, eax
jmp 0x406019
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov ecx, dword [ebp + 0xac]
lea edx, [esp + 0x10]
add ecx, 8
push edx
call fcn.004036d0
push str.OtherItemSoftPath
call fcn.004290eb
add esp, 4
push eax
push str.OtherItemSoftPath
lea ecx, [esp + 0x1c]
call fcn.00403080
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x406082
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push eax
push str.Globals
call ebx
test esi, esi
jne 0x4060a2
xor eax, eax
jmp 0x4060b3
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov ecx, dword [ebp + 0xac]
lea edx, [esp + 0x10]
add ecx, 0x18
push edx
call fcn.004036d0
push str.OtherItemExeFile
call fcn.004290eb
add esp, 4
push eax
push str.OtherItemExeFile
lea ecx, [esp + 0x1c]
call fcn.00403080
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x40611c
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push eax
push str.Globals
call ebx
test esi, esi
jne 0x40613c
xor eax, eax
jmp 0x40614d
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov ecx, dword [ebp + 0xac]
lea edx, [esp + 0x10]
add ecx, 4
push edx
call fcn.004036d0
push str.OtherItemCab
call fcn.004290eb
add esp, 4
push eax
push str.OtherItemCab
lea ecx, [esp + 0x1c]
call fcn.00403080
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x4061b6
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push eax
push str.Globals
call ebx
test esi, esi
jne 0x4061d6
xor eax, eax
jmp 0x4061e7
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov ecx, dword [ebp + 0xac]
lea edx, [esp + 0x10]
add ecx, 0x3c
push edx
call fcn.004036d0
push str.OtherItemTranFile
call fcn.004290eb
add esp, 4
push eax
push str.OtherItemTranFile
lea ecx, [esp + 0x1c]
call fcn.00403080
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x406250
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push eax
push str.Globals
call ebx
test esi, esi
jne 0x406270
xor eax, eax
jmp 0x406281
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
push ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov dword [esp + 0x1c], esp
lea eax, [esi - 0x10]
mov dword [esp + 0x1c], esp
push eax
call fcn.00402c10
mov ecx, dword [esp + 0x20]
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp + 0xac]
add esp, 4
call fcn.0041c210
push str.OtherItemDeleteFile
call fcn.004290eb
add esp, 4
push eax
push str.OtherItemDeleteFile
lea ecx, [esp + 0x1c]
call fcn.00403080
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x406300
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push edx
push str.Globals
call ebx
test esi, esi
jne 0x406320
xor eax, eax
jmp 0x406331
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
push ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov dword [esp + 0x1c], esp
lea eax, [esi - 0x10]
mov dword [esp + 0x1c], esp
push eax
call fcn.00402c10
mov ecx, dword [esp + 0x20]
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp + 0xac]
add esp, 4
call fcn.0041c8d0
push str.OtherItemDeleteDirectory
call fcn.004290eb
add esp, 4
push eax
push str.OtherItemDeleteDirectory
lea ecx, [esp + 0x1c]
call fcn.00403080
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x4063b0
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push edx
push str.Globals
call ebx
test esi, esi
jne 0x4063d0
xor eax, eax
jmp 0x4063e1
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
push ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov dword [esp + 0x1c], esp
lea eax, [esi - 0x10]
mov dword [esp + 0x1c], esp
push eax
call fcn.00402c10
mov ecx, dword [esp + 0x20]
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp + 0xac]
add esp, 4
call fcn.0041ca40
push str.OtherItemCabNum
call fcn.004290eb
add esp, 4
push eax
push str.OtherItemCabNum
lea ecx, [esp + 0x1c]
call fcn.00403080
mov edx, dword [esp + 0x14]
push edi
push 0
push edx
push str.Globals
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, dword [ebp + 0xac]
mov dword [ecx + 0x28], eax
mov edx, dword [ebp + 0xac]
mov eax, dword [edx + 0x28]
mov ecx, dword [ebp + 0xc]
push edi
push 0
push str.ItemCount
add ecx, eax
push str.Globals
mov dword [ebp + 0xc], ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsShowWelcomeDlg
push str.Globals
mov dword [ebp + 0x88], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0
push str.IsShowLicenseDlg
push str.Globals
mov dword [ebp + 0xec], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsShowSelSoftDlg
push str.Globals
mov dword [ebp + 0xf0], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsShowSelDirDlg
push str.Globals
mov dword [ebp + 0xf4], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsShowQQChooseDlg
push str.Globals
mov dword [ebp + 0xf8], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsShowSetupDlg
push str.Globals
mov dword [ebp + 0xfc], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0
push str.IsShowStartPageDlg
push str.Globals
mov dword [ebp + 0x100], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsShowFinishDlg
push str.Globals
mov dword [ebp + 0x104], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0
push str.IsShowBaiduToolBar
push str.Globals
mov dword [ebp + 0x108], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0
push str.IsShowGoogleToolBar
push str.Globals
mov dword [ebp + 0x110], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0
push str.IsSetMainPageUrl
push str.Globals
mov dword [ebp + 0x114], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0
push str.IsSetBaiduSearchDefaultUrl
push str.Globals
mov dword [ebp + 0x118], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsInstallOtherData
push str.Globals
mov dword [ebp + 0x11c], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp + 0x120], eax
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4072ef
cmp eax, 1
mov dword [esp + 0x20], 1
jl 0x4072ef
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push str.ItemName_d
push edx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x406621
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push eax
push str.Globals
call ebx
test esi, esi
jne 0x406641
xor eax, eax
jmp 0x406652
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
push 0x4492fc
mov dword [esi - 0xc], eax
push esi
mov word [esi + eax*2], 0
call fcn.00428fbd
add esp, 8
test eax, eax
jne 0x406681
mov ecx, dword [ebp + 0xa4]
jmp 0x4067b3
push 0x4492ec
push esi
call fcn.00428fbd
add esp, 8
test eax, eax
jne 0x4066a2
mov edx, dword [ebp + 0x94]
mov dword [esp + 0x1c], edx
jmp 0x4067b7
push 0x4492d4
push esi
call fcn.00428fbd
add esp, 8
test eax, eax
jne 0x4066c3
mov eax, dword [ebp + 0x98]
mov dword [esp + 0x1c], eax
jmp 0x4067b7
push 0x4492c8
push esi
call fcn.00428fbd
add esp, 8
test eax, eax
jne 0x4066e0
mov ecx, dword [ebp + 0x9c]
jmp 0x4067b3
push 0x4492bc
push esi
call fcn.00428fbd
add esp, 8
test eax, eax
jne 0x406701
mov edx, dword [ebp + 0xa0]
mov dword [esp + 0x1c], edx
jmp 0x4067b7
push 0x4492b0
push esi
call fcn.00428fbd
add esp, 8
test eax, eax
jne 0x406722
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x1c], eax
jmp 0x4067b7
push str.TT98_QQ
lea ecx, [esp + 0x14]
push ecx
call fcn.00402c80
test al, al
je 0x406741
mov edx, dword [ebp + 0xb4]
mov dword [esp + 0x1c], edx
jmp 0x4067b7
push 0x449290
lea eax, [esp + 0x14]
push eax
call fcn.00402c80
test al, al
je 0x40675c
mov ecx, dword [ebp + 0xb8]
jmp 0x4067b3
push 0x449284
lea edx, [esp + 0x14]
push edx
call fcn.00402c80
test al, al
je 0x40677b
mov eax, dword [ebp + 0xbc]
mov dword [esp + 0x1c], eax
jmp 0x4067b7
push 0x449278
lea ecx, [esp + 0x14]
push ecx
call fcn.00402c80
test al, al
je 0x40679a
mov edx, dword [ebp + 0xc4]
mov dword [esp + 0x1c], edx
jmp 0x4067b7
push 0x449268
lea eax, [esp + 0x14]
push eax
call fcn.00402c80
test al, al
je 0x4067b7
mov ecx, dword [ebp + 0xc0]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x10]
add ecx, 8
push edx
call fcn.004036d0
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push str.ItemDescribe_d
push ecx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x406807
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push edx
push str.Globals
call ebx
test esi, esi
jne 0x406827
xor eax, eax
jmp 0x406838
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov ecx, dword [esp + 0x1c]
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
lea eax, [esp + 0x10]
add ecx, 0xc
push eax
call fcn.004036d0
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push str.ItemVer_d
push edx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x40689a
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push eax
push str.Globals
call ebx
test esi, esi
jne 0x4068ba
xor eax, eax
jmp 0x4068cb
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x10]
mov dword [esi - 0xc], eax
add ecx, 0x1c
push edx
mov word [esi + eax*2], 0
call fcn.004036d0
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push str.ItemSoftPath_d
push ecx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x40692d
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push edx
push str.Globals
call ebx
test esi, esi
jne 0x40694d
xor eax, eax
jmp 0x40695e
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov ecx, dword [esp + 0x1c]
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
lea eax, [esp + 0x10]
add ecx, 0x18
push eax
call fcn.004036d0
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push str.ItemByServiceName_d
push edx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x4069c0
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push eax
push str.Globals
call ebx
test esi, esi
jne 0x4069e0
xor eax, eax
jmp 0x4069f1
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
call fcn.004036d0
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push str.ItemImeName_d
push eax
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x406a50
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push ecx
push str.Globals
call ebx
test esi, esi
jne 0x406a70
xor eax, eax
jmp 0x406a81
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x10]
mov dword [esi - 0xc], eax
add ecx, 0x10
push edx
mov word [esi + eax*2], 0
call fcn.004036d0
mov eax, dword [0x45c16c]
mov ecx, dword [eax + 0x18]
call fcn.0040d700
test eax, eax
je 0x406ac6
mov ecx, dword [esp + 0x20]
push ecx
push str.ItemImePath64_d
lea edx, [esp + 0x1c]
push edx
jmp 0x406ad5
mov eax, dword [esp + 0x20]
push eax
push str.ItemImePath_d
lea ecx, [esp + 0x1c]
push ecx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x406b05
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push edx
push str.Globals
call ebx
test esi, esi
jne 0x406b25
xor eax, eax
jmp 0x406b36
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov ecx, dword [esp + 0x1c]
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
lea eax, [esp + 0x10]
add ecx, 0x14
push eax
call fcn.004036d0
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push str.ItemCab_d
push edx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x406b98
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push eax
push str.Globals
call ebx
test esi, esi
jne 0x406bb8
xor eax, eax
jmp 0x406bc9
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x10]
mov dword [esi - 0xc], eax
add ecx, 0x3c
push edx
mov word [esi + eax*2], 0
call fcn.004036d0
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push str.ItemCabNum_d
push ecx
call fcn.00403780
mov edx, dword [esp + 0x20]
add esp, 0xc
push edi
push 0
push edx
push str.Globals
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push edx
mov dword [ecx + 0x28], eax
lea eax, [esp + 0x18]
push str.ItemExeFile_d
push eax
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x406c5c
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push ecx
push str.Globals
call ebx
test esi, esi
jne 0x406c7c
xor eax, eax
jmp 0x406c8d
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x10]
mov dword [esi - 0xc], eax
add ecx, 4
push edx
mov word [esi + eax*2], 0
call fcn.004036d0
mov eax, dword [0x45c16c]
mov ecx, dword [eax + 0x18]
call fcn.0040d700
test eax, eax
je 0x406cd2
mov ecx, dword [esp + 0x20]
push ecx
push str.ItemRegExeFile64_d
lea edx, [esp + 0x1c]
push edx
jmp 0x406ce1
mov eax, dword [esp + 0x20]
push eax
push str.ItemRegExeFile_d
lea ecx, [esp + 0x1c]
push ecx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x406d11
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push edx
push str.Globals
call ebx
test esi, esi
jne 0x406d31
xor eax, eax
jmp 0x406d42
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov ecx, dword [esp + 0x1c]
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
lea eax, [esp + 0x10]
add ecx, 0x40
push eax
call fcn.004036d0
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push str.ItemParameter_d
push edx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x406da4
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push eax
push str.Globals
call ebx
test esi, esi
jne 0x406dc4
xor eax, eax
jmp 0x406dd5
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x10]
mov dword [esi - 0xc], eax
add ecx, 0x44
push edx
mov word [esi + eax*2], 0
call fcn.004036d0
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push str.ItemRunExeToolCmdLine_d
push ecx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x406e37
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push edx
push str.Globals
call ebx
test esi, esi
jne 0x406e57
xor eax, eax
jmp 0x406e68
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
mov ecx, dword [esp + 0x1c]
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
lea eax, [esp + 0x10]
add ecx, 0x24
push eax
call fcn.004036d0
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push str.ItemTranFile_d
push edx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x406eca
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push eax
push str.Globals
call ebx
test esi, esi
jne 0x406eea
xor eax, eax
jmp 0x406efb
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
push ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov dword [esp + 0x1c], esp
lea eax, [esi - 0x10]
mov dword [esp + 0x1c], esp
push eax
call fcn.00402c10
mov ecx, dword [esp + 0x20]
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [esp + 0x24]
add esp, 4
call fcn.0041c210
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push str.ItemHoldFile_d
push eax
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x406f73
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push ecx
push str.Globals
call ebx
test esi, esi
jne 0x406f93
xor eax, eax
jmp 0x406fa4
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
push ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov dword [esp + 0x1c], esp
lea eax, [esi - 0x10]
mov dword [esp + 0x1c], esp
push eax
call fcn.00402c10
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
add eax, 0x10
add esp, 4
mov dword [edx], eax
call fcn.0041c480
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push str.ItemCopyInstallFile_d
push ecx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x40701c
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push edx
push str.Globals
call ebx
test esi, esi
jne 0x40703c
xor eax, eax
jmp 0x40704d
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
push ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov dword [esp + 0x1c], esp
lea eax, [esi - 0x10]
mov dword [esp + 0x1c], esp
push eax
call fcn.00402c10
mov ecx, dword [esp + 0x20]
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [esp + 0x24]
add esp, 4
call fcn.0041c5f0
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push str.ItemCopyCommFile_d
push eax
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x4070c5
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push ecx
push str.Globals
call ebx
test esi, esi
jne 0x4070e5
xor eax, eax
jmp 0x4070f6
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
push ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov dword [esp + 0x1c], esp
lea eax, [esi - 0x10]
mov dword [esp + 0x1c], esp
push eax
call fcn.00402c10
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
add eax, 0x10
add esp, 4
mov dword [edx], eax
call fcn.0041c760
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push str.ItemDeleteFile_d
push ecx
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x40716e
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push edx
push str.Globals
call ebx
test esi, esi
jne 0x40718e
xor eax, eax
jmp 0x40719f
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
push ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov dword [esp + 0x1c], esp
lea eax, [esi - 0x10]
mov dword [esp + 0x1c], esp
push eax
call fcn.00402c10
mov ecx, dword [esp + 0x20]
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [esp + 0x24]
add esp, 4
call fcn.0041c8d0
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push str.ItemDeleteDirectory_d
push eax
call fcn.00403780
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x407217
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.00402bc0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x448de4
push ecx
push str.Globals
call ebx
test esi, esi
jne 0x407237
xor eax, eax
jmp 0x407248
push esi
call fcn.004290eb
add esp, 4
test eax, eax
jl 0x407499
cmp eax, dword [esi - 8]
jg 0x407499
push ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov dword [esp + 0x1c], esp
lea eax, [esi - 0x10]
mov dword [esp + 0x1c], esp
push eax
call fcn.00402c10
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
add eax, 0x10
add esp, 4
mov dword [edx], eax
call fcn.0041ca40
mov eax, dword [ebp + 0xcc]
test eax, eax
lea ecx, [ebp + 0xc8]
jne 0x407297
mov dword [esp + 0x18], eax
jmp 0x4072a3
mov edx, dword [ecx + 8]
sub edx, eax
sar edx, 2
mov dword [esp + 0x18], edx
test eax, eax
je 0x4072c8
mov edx, dword [ecx + 0xc]
sub edx, eax
mov eax, dword [esp + 0x18]
sar edx, 2
cmp eax, edx
jae 0x4072c8
mov eax, dword [ecx + 8]
mov edx, dword [esp + 0x1c]
mov dword [eax], edx
add eax, 4
mov dword [ecx + 8], eax
jmp 0x4072d8
mov eax, dword [ecx + 8]
lea edx, [esp + 0x1c]
push edx
push 1
push eax
call fcn.004041f0
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x88]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jle 0x4065e2
push edi
push 0
push str.nShowEndPage
push str.Globals
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
mov dword [ebp + 0x8c], eax
je 0x407422
cmp eax, 1
mov dword [esp + 0x20], 1
jl 0x407422
lea ecx, [esp + 0x24]
call fcn.00401080
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x34]
push str.RunExe_Text_d
push ecx
mov byte [esp + 0xa48], 2
mov dword [esp + 0x38], 0
call fcn.00428c0a
add esp, 0xc
push edi
push 0x104
lea edx, [esp + 0x830]
push edx
push 0x448de4
lea eax, [esp + 0x40]
push eax
push str.Globals
call ebx
lea ecx, [esp + 0x828]
push ecx
call fcn.004290eb
add esp, 4
push eax
lea edx, [esp + 0x82c]
push edx
lea ecx, [esp + 0x2c]
call fcn.00403080
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x34]
push str.RunExe_Run_d
push ecx
call fcn.00428c0a
add esp, 0xc
push edi
push 0x104
lea edx, [esp + 0x830]
push edx
push 0x448de4
lea eax, [esp + 0x40]
push eax
push str.Globals
call ebx
lea ecx, [esp + 0x828]
push ecx
call fcn.004290eb
add esp, 4
push eax
lea edx, [esp + 0x82c]
push edx
lea ecx, [esp + 0x30]
call fcn.00403080
lea eax, [esp + 0x24]
push eax
lea ecx, [ebp + 0xdc]
call fcn.00404db0
lea ecx, [esp + 0x24]
mov byte [esp + 0xa3c], 1
call fcn.004010b0
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x8c]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jle 0x407321
lea eax, [esi - 0x10]
mov byte [esp + 0xa3c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407444
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0xa3c], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40746d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esp + 0xa34]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xa30]
mov eax, 1
call fcn.00428731
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa30
ret 4
push 0x80070057
call fcn.004020c0
int3