Function at 0x406590
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x44c421
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa24
mov eax, dword [0x46420c]
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 0x44fd64
push str.DefaultPath
push str.Globals
mov ebp, ecx
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x224]
call fcn.0042baa6
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.00403b80
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x44fd64
push str.MainPageUrl
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x23c]
call fcn.0042baa6
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.00403b80
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x44fd64
push str.baiduUrl
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x248]
call fcn.0042baa6
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.00403b80
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x44fd64
push str.baiduUrlLast
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x24c]
call fcn.0042baa6
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.00403b80
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x44fd64
push str.MainPageTitle
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x240]
call fcn.0042baa6
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.004024b0
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x44fd64
push str.MainDlgTitle
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x244]
call fcn.0042baa6
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.004024b0
push edi
push 0x5dc
lea eax, [esp + 0x60]
push eax
push 0x44fd64
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.004028f0
mov ecx, ebp
call fcn.004062b0
push edi
push 0x5dc
lea eax, [esp + 0x60]
push eax
push 0x44fd64
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.004028f0
mov ecx, ebp
call fcn.00406140
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x44fd64
push str.googleUrl
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x288]
call fcn.0042baa6
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.00403b80
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x44fd64
push str.SendInstallUrlHost
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x22c]
call fcn.0042baa6
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.00403b80
push edi
push 0x104
lea eax, [esp + 0x60]
push eax
push 0x44fd64
push str.WnType
push str.Globals
call ebx
lea ecx, [esp + 0x58]
push ecx
lea esi, [ebp + 0x28c]
call fcn.0042baa6
add esp, 4
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call fcn.00403b80
push edi
push 0x5dc
lea eax, [esp + 0x60]
push eax
push 0x44fd64
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.004028f0
mov ecx, ebp
call fcn.00406420
call fcn.0043f04a
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.0043f04a
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.0042baa6
add esp, 4
push eax
push str.OtherItemName
lea ecx, [esp + 0x1c]
call fcn.004024b0
mov ecx, 1
sub ecx, dword [esi - 4]
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x4068fd
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push eax
push str.Globals
call ebx
test esi, esi
jne 0x40691d
xor eax, eax
jmp 0x40692e
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov ecx, dword [ebp + 0x2b4]
lea edx, [esp + 0x10]
add ecx, 8
push edx
call fcn.00402760
push str.OtherItemSoftPath
call fcn.0042baa6
add esp, 4
push eax
push str.OtherItemSoftPath
lea ecx, [esp + 0x1c]
call fcn.004024b0
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x406997
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push eax
push str.Globals
call ebx
test esi, esi
jne 0x4069b7
xor eax, eax
jmp 0x4069c8
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov ecx, dword [ebp + 0x2b4]
lea edx, [esp + 0x10]
add ecx, 0x18
push edx
call fcn.00402760
push str.OtherItemExeFile
call fcn.0042baa6
add esp, 4
push eax
push str.OtherItemExeFile
lea ecx, [esp + 0x1c]
call fcn.004024b0
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x406a31
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push eax
push str.Globals
call ebx
test esi, esi
jne 0x406a51
xor eax, eax
jmp 0x406a62
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov ecx, dword [ebp + 0x2b4]
lea edx, [esp + 0x10]
add ecx, 4
push edx
call fcn.00402760
push str.OtherItemCab
call fcn.0042baa6
add esp, 4
push eax
push str.OtherItemCab
lea ecx, [esp + 0x1c]
call fcn.004024b0
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x406acb
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push eax
push str.Globals
call ebx
test esi, esi
jne 0x406aeb
xor eax, eax
jmp 0x406afc
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
mov ecx, dword [ebp + 0x2b4]
lea edx, [esp + 0x10]
add ecx, 0x3c
push edx
call fcn.00402760
push str.OtherItemTranFile
call fcn.0042baa6
add esp, 4
push eax
push str.OtherItemTranFile
lea ecx, [esp + 0x1c]
call fcn.004024b0
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x406b65
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push eax
push str.Globals
call ebx
test esi, esi
jne 0x406b85
xor eax, eax
jmp 0x406b96
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402340
mov ecx, dword [esp + 0x20]
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp + 0x2b4]
add esp, 4
call fcn.0041ee70
push str.OtherItemDeleteFile
call fcn.0042baa6
add esp, 4
push eax
push str.OtherItemDeleteFile
lea ecx, [esp + 0x1c]
call fcn.004024b0
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x406c15
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push edx
push str.Globals
call ebx
test esi, esi
jne 0x406c35
xor eax, eax
jmp 0x406c46
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402340
mov ecx, dword [esp + 0x20]
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp + 0x2b4]
add esp, 4
call fcn.0041f530
push str.OtherItemDeleteDirectory
call fcn.0042baa6
add esp, 4
push eax
push str.OtherItemDeleteDirectory
lea ecx, [esp + 0x1c]
call fcn.004024b0
mov eax, dword [esi - 4]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, 0x3e8
or eax, ecx
jge 0x406cc5
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push edx
push str.Globals
call ebx
test esi, esi
jne 0x406ce5
xor eax, eax
jmp 0x406cf6
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402340
mov ecx, dword [esp + 0x20]
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp + 0x2b4]
add esp, 4
call fcn.0041f6a0
push str.OtherItemCabNum
call fcn.0042baa6
add esp, 4
push eax
push str.OtherItemCabNum
lea ecx, [esp + 0x1c]
call fcn.004024b0
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 + 0x2b4]
mov dword [ecx + 0x28], eax
mov edx, dword [ebp + 0x2b4]
mov eax, dword [edx + 0x28]
mov ecx, dword [ebp + 0x214]
push edi
push 0
push str.ItemCount
add ecx, eax
push str.Globals
mov dword [ebp + 0x214], ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsShowWelcomeDlg
push str.Globals
mov dword [ebp + 0x290], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0
push str.IsShowLicenseDlg
push str.Globals
mov dword [ebp + 0x2f4], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsShowSelSoftDlg
push str.Globals
mov dword [ebp + 0x2f8], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsShowSelDirDlg
push str.Globals
mov dword [ebp + 0x2fc], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsShowQQChooseDlg
push str.Globals
mov dword [ebp + 0x300], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsShowSetupDlg
push str.Globals
mov dword [ebp + 0x304], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0
push str.IsShowStartPageDlg
push str.Globals
mov dword [ebp + 0x308], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsShowFinishDlg
push str.Globals
mov dword [ebp + 0x30c], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0
push str.IsShowBaiduToolBar
push str.Globals
mov dword [ebp + 0x310], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0
push str.IsShowGoogleToolBar
push str.Globals
mov dword [ebp + 0x318], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0
push str.IsSetMainPageUrl
push str.Globals
mov dword [ebp + 0x31c], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0
push str.IsSetBaiduSearchDefaultUrl
push str.Globals
mov dword [ebp + 0x320], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 1
push str.IsInstallOtherData
push str.Globals
mov dword [ebp + 0x324], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp + 0x328], eax
mov eax, dword [ebp + 0x290]
test eax, eax
je 0x407c0e
cmp eax, 1
mov dword [esp + 0x20], 1
jl 0x407c0e
lea ecx, [ecx]
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push str.ItemName_d
push edx
call fcn.00402810
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 0x406f3f
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push eax
push str.Globals
call ebx
test esi, esi
jne 0x406f5f
xor eax, eax
jmp 0x406f70
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
push 0x450360
mov dword [esi - 0xc], eax
push esi
mov word [esi + eax*2], 0
call fcn.0042bea1
add esp, 8
test eax, eax
jne 0x406f9f
mov ecx, dword [ebp + 0x2ac]
jmp 0x4070d1
push 0x450350
push esi
call fcn.0042bea1
add esp, 8
test eax, eax
jne 0x406fc0
mov edx, dword [ebp + 0x29c]
mov dword [esp + 0x1c], edx
jmp 0x4070d5
push 0x450338
push esi
call fcn.0042bea1
add esp, 8
test eax, eax
jne 0x406fe1
mov eax, dword [ebp + 0x2a0]
mov dword [esp + 0x1c], eax
jmp 0x4070d5
push 0x45032c
push esi
call fcn.0042bea1
add esp, 8
test eax, eax
jne 0x406ffe
mov ecx, dword [ebp + 0x2a4]
jmp 0x4070d1
push 0x450320
push esi
call fcn.0042bea1
add esp, 8
test eax, eax
jne 0x40701f
mov edx, dword [ebp + 0x2a8]
mov dword [esp + 0x1c], edx
jmp 0x4070d5
push 0x450314
push esi
call fcn.0042bea1
add esp, 8
test eax, eax
jne 0x407040
mov eax, dword [ebp + 0x2b0]
mov dword [esp + 0x1c], eax
jmp 0x4070d5
push str.TT98_QQ
lea ecx, [esp + 0x14]
push ecx
call fcn.00403710
test al, al
je 0x40705f
mov edx, dword [ebp + 0x2bc]
mov dword [esp + 0x1c], edx
jmp 0x4070d5
push 0x4502f4
lea eax, [esp + 0x14]
push eax
call fcn.00403710
test al, al
je 0x40707a
mov ecx, dword [ebp + 0x2c0]
jmp 0x4070d1
push 0x4502e8
lea edx, [esp + 0x14]
push edx
call fcn.00403710
test al, al
je 0x407099
mov eax, dword [ebp + 0x2c4]
mov dword [esp + 0x1c], eax
jmp 0x4070d5
push 0x4502dc
lea ecx, [esp + 0x14]
push ecx
call fcn.00403710
test al, al
je 0x4070b8
mov edx, dword [ebp + 0x2cc]
mov dword [esp + 0x1c], edx
jmp 0x4070d5
push 0x4502cc
lea eax, [esp + 0x14]
push eax
call fcn.00403710
test al, al
je 0x4070d5
mov ecx, dword [ebp + 0x2c8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x10]
add ecx, 8
push edx
call fcn.00402760
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push str.ItemDescribe_d
push ecx
call fcn.00402810
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 0x407125
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push edx
push str.Globals
call ebx
test esi, esi
jne 0x407145
xor eax, eax
jmp 0x407156
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402760
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push str.ItemVer_d
push edx
call fcn.00402810
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 0x4071b8
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push eax
push str.Globals
call ebx
test esi, esi
jne 0x4071d8
xor eax, eax
jmp 0x4071e9
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402760
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push str.ItemSoftPath_d
push ecx
call fcn.00402810
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 0x40724b
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push edx
push str.Globals
call ebx
test esi, esi
jne 0x40726b
xor eax, eax
jmp 0x40727c
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402760
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push str.ItemByServiceName_d
push edx
call fcn.00402810
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 0x4072de
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push eax
push str.Globals
call ebx
test esi, esi
jne 0x4072fe
xor eax, eax
jmp 0x40730f
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esi - 0xc], eax
mov word [esi + eax*2], 0
call fcn.00402760
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push str.ItemImeName_d
push eax
call fcn.00402810
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 0x40736e
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push ecx
push str.Globals
call ebx
test esi, esi
jne 0x40738e
xor eax, eax
jmp 0x40739f
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402760
mov eax, dword [0x46532c]
mov ecx, dword [eax + 0x18]
call fcn.0040db20
test eax, eax
je 0x4073e4
mov ecx, dword [esp + 0x20]
push ecx
push str.ItemImePath64_d
lea edx, [esp + 0x1c]
push edx
jmp 0x4073f3
mov eax, dword [esp + 0x20]
push eax
push str.ItemImePath_d
lea ecx, [esp + 0x1c]
push ecx
call fcn.00402810
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 0x407423
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push edx
push str.Globals
call ebx
test esi, esi
jne 0x407443
xor eax, eax
jmp 0x407454
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402760
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push str.ItemCab_d
push edx
call fcn.00402810
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 0x4074b6
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push eax
push str.Globals
call ebx
test esi, esi
jne 0x4074d6
xor eax, eax
jmp 0x4074e7
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402760
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push str.ItemCabNum_d
push ecx
call fcn.00402810
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.00402810
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 0x40757a
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push ecx
push str.Globals
call ebx
test esi, esi
jne 0x40759a
xor eax, eax
jmp 0x4075ab
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402760
mov eax, dword [0x46532c]
mov ecx, dword [eax + 0x18]
call fcn.0040db20
test eax, eax
je 0x4075f0
mov ecx, dword [esp + 0x20]
push ecx
push str.ItemRegExeFile64_d
lea edx, [esp + 0x1c]
push edx
jmp 0x4075ff
mov eax, dword [esp + 0x20]
push eax
push str.ItemRegExeFile_d
lea ecx, [esp + 0x1c]
push ecx
call fcn.00402810
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 0x40762f
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push edx
push str.Globals
call ebx
test esi, esi
jne 0x40764f
xor eax, eax
jmp 0x407660
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402760
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push str.ItemParameter_d
push edx
call fcn.00402810
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 0x4076c2
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push eax
push str.Globals
call ebx
test esi, esi
jne 0x4076e2
xor eax, eax
jmp 0x4076f3
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402760
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push str.ItemRunExeToolCmdLine_d
push ecx
call fcn.00402810
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 0x407755
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push edx
push str.Globals
call ebx
test esi, esi
jne 0x407775
xor eax, eax
jmp 0x407786
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402760
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push str.ItemTranFile_d
push edx
call fcn.00402810
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 0x4077e8
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push eax
push str.Globals
call ebx
test esi, esi
jne 0x407808
xor eax, eax
jmp 0x407819
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402340
mov ecx, dword [esp + 0x20]
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [esp + 0x24]
add esp, 4
call fcn.0041ee70
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push str.ItemHoldFile_d
push eax
call fcn.00402810
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 0x407891
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push ecx
push str.Globals
call ebx
test esi, esi
jne 0x4078b1
xor eax, eax
jmp 0x4078c2
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402340
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
add eax, 0x10
add esp, 4
mov dword [edx], eax
call fcn.0041f0e0
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push str.ItemCopyInstallFile_d
push ecx
call fcn.00402810
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 0x40793a
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push edx
push str.Globals
call ebx
test esi, esi
jne 0x40795a
xor eax, eax
jmp 0x40796b
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402340
mov ecx, dword [esp + 0x20]
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [esp + 0x24]
add esp, 4
call fcn.0041f250
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push str.ItemCopyCommFile_d
push eax
call fcn.00402810
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 0x4079e3
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push ecx
push str.Globals
call ebx
test esi, esi
jne 0x407a03
xor eax, eax
jmp 0x407a14
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402340
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
add eax, 0x10
add esp, 4
mov dword [edx], eax
call fcn.0041f3c0
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push str.ItemDeleteFile_d
push ecx
call fcn.00402810
mov ecx, dword [esi - 4]
mov eax, 1
sub eax, ecx
mov ecx, dword [esi - 8]
sub ecx, 0x3e8
add esp, 0xc
or eax, ecx
jge 0x407a8d
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push edx
push str.Globals
call ebx
test esi, esi
jne 0x407aad
xor eax, eax
jmp 0x407abe
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402340
mov ecx, dword [esp + 0x20]
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [esp + 0x24]
add esp, 4
call fcn.0041f530
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push str.ItemDeleteDirectory_d
push eax
call fcn.00402810
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 0x407b36
push 0x3e8
lea ecx, [esp + 0x14]
call fcn.004022f0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edi
push 0x3e8
push esi
push 0x44fd64
push ecx
push str.Globals
call ebx
test esi, esi
jne 0x407b56
xor eax, eax
jmp 0x407b67
push esi
call fcn.0042baa6
add esp, 4
test eax, eax
jl 0x407db8
cmp eax, dword [esi - 8]
jg 0x407db8
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.00402340
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
add eax, 0x10
add esp, 4
mov dword [edx], eax
call fcn.0041f6a0
mov eax, dword [ebp + 0x2d4]
test eax, eax
lea ecx, [ebp + 0x2d0]
jne 0x407bb6
mov dword [esp + 0x18], eax
jmp 0x407bc2
mov edx, dword [ecx + 8]
sub edx, eax
sar edx, 2
mov dword [esp + 0x18], edx
test eax, eax
je 0x407be7
mov edx, dword [ecx + 0xc]
sub edx, eax
mov eax, dword [esp + 0x18]
sar edx, 2
cmp eax, edx
jae 0x407be7
mov eax, dword [ecx + 8]
mov edx, dword [esp + 0x1c]
mov dword [eax], edx
add eax, 4
mov dword [ecx + 8], eax
jmp 0x407bf7
mov eax, dword [ecx + 8]
lea edx, [esp + 0x1c]
push edx
push 1
push eax
call fcn.004049b0
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x290]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jle 0x406f00
push edi
push 0
push str.nShowEndPage
push str.Globals
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
mov dword [ebp + 0x294], eax
je 0x407d41
cmp eax, 1
mov dword [esp + 0x20], 1
jl 0x407d41
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.0042b87a
add esp, 0xc
push edi
push 0x104
lea edx, [esp + 0x830]
push edx
push 0x44fd64
lea eax, [esp + 0x40]
push eax
push str.Globals
call ebx
lea ecx, [esp + 0x828]
push ecx
call fcn.0042baa6
add esp, 4
push eax
lea edx, [esp + 0x82c]
push edx
lea ecx, [esp + 0x2c]
call fcn.004024b0
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x34]
push str.RunExe_Run_d
push ecx
call fcn.0042b87a
add esp, 0xc
push edi
push 0x104
lea edx, [esp + 0x830]
push edx
push 0x44fd64
lea eax, [esp + 0x40]
push eax
push str.Globals
call ebx
lea ecx, [esp + 0x828]
push ecx
call fcn.0042baa6
add esp, 4
push eax
lea edx, [esp + 0x82c]
push edx
lea ecx, [esp + 0x30]
call fcn.004024b0
lea eax, [esp + 0x24]
push eax
lea ecx, [ebp + 0x2e4]
call fcn.00405630
lea ecx, [esp + 0x24]
mov byte [esp + 0xa3c], 1
call fcn.004010b0
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x294]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jle 0x407c40
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 0x407d63
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 0x407d8c
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.0042b3a1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa30
ret 4
push 0x80070057
call fcn.00402100
int3