Function at 0x413970
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x436887
mov eax, dword fs:[0]
push eax
mov eax, 0x21b8
call fcn.004350b0
mov eax, dword [0x453358]
xor eax, esp
mov dword [esp + 0x21b4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x453358]
xor eax, esp
push eax
lea eax, [esp + 0x21cc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00410b50
test eax, eax
jne 0x4139c1
xor eax, eax
jmp 0x414216
push 0x2000
lea eax, [esp + 0x1cc]
push 0
push eax
call sub.MSVCR90.dll_memset
mov edi, dword [esi]
add esp, 0xc
test edi, edi
je 0x4139ba
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push edi
push 0x1000
lea ecx, [esp + 0x1d0]
push ecx
push 0
push str.Logo
push str.360Installer
call ebp
cmp word [esp + 0x1c8], 0
je 0x413a94
lea ecx, [esp + 0x2c]
call fcn.0042fe80
lea edx, [esp + 0x1c8]
push edx
lea ecx, [esp + 0x30]
mov dword [esp + 0x21d8], 0
call fcn.00430630
mov ecx, dword [esp + 0x2c]
cmp dword [ecx - 8], 0
je 0x413a80
mov eax, dword [esi + 4]
push ecx
push eax
lea eax, [esp + 0x1d0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, dword [esi + 0x1c]
lea edx, [esp + 0x1cc]
push edx
push 0
lea eax, [esp + 0x28]
push eax
add ecx, 0x28
call fcn.00410150
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x413a80
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x21d4], 0xffffffff
call fcn.00410b70
push edi
push 0x1000
lea eax, [esp + 0x1d0]
push eax
push 0
push str.Title
push str.360Installer
call ebp
movzx eax, word [esp + 0x1c8]
neg eax
sbb eax, eax
lea ecx, [esp + 0x1c8]
and eax, ecx
mov ecx, dword [esi + 0x1c]
push eax
add ecx, 0xa4
call fcn.004300d0
push edi
push 0x1000
lea edx, [esp + 0x1d0]
push edx
push 0
push str.TopTitle
push str.360Installer
call ebp
movzx eax, word [esp + 0x1c8]
neg eax
sbb eax, eax
lea ecx, [esp + 0x1c8]
and eax, ecx
mov ecx, dword [esi + 0x1c]
push eax
add ecx, 0x130
call fcn.00409560
push edi
push 0x1000
lea edx, [esp + 0x1d0]
push edx
push 0
push str.Company
push str.360Installer
call ebp
movzx eax, word [esp + 0x1c8]
neg eax
sbb eax, eax
lea ecx, [esp + 0x1c8]
and eax, ecx
mov ecx, dword [esi + 0x1c]
push eax
add ecx, 0x134
call fcn.00409560
push edi
push 0x1000
lea edx, [esp + 0x1d0]
push edx
push 0
push str.LicenseURL
push str.360Installer
call ebp
movzx eax, word [esp + 0x1c8]
neg eax
sbb eax, eax
lea ecx, [esp + 0x1c8]
and eax, ecx
mov ecx, dword [esi + 0x1c]
push eax
add ecx, 0x138
call fcn.00409560
push edi
push 0x1000
lea edx, [esp + 0x1d0]
push edx
push 0
push str.TitleBkColor
push str.360Installer
call ebp
movzx eax, word [esp + 0x1c8]
neg eax
sbb eax, eax
lea ecx, [esp + 0x1c8]
and eax, ecx
push eax
lea ecx, [esp + 0x38]
call fcn.00409f80
mov edx, dword [esp + 0x34]
cmp dword [edx - 8], 0
mov dword [esp + 0x21d4], 1
je 0x413bff
lea eax, [esp + 0x34]
push 0xffffff
push eax
call fcn.0042ee50
mov ecx, dword [esi + 0x1c]
add esp, 8
mov dword [ecx + 0xb4], eax
push edi
push 0x3e8
push str.GermTime
push str.360Installer
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, dword [esi + 0x1c]
mov dword [edx + 0x1b0], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax + 0x1b0]
add eax, 0x1b0
cmp ecx, 0x2710
jle 0x413c3c
mov dword [eax], 0x2710
jmp 0x413c47
cmp ecx, 1
jge 0x413c47
mov dword [eax], 1
push edi
push 0x1000
lea eax, [esp + 0x1d0]
push eax
push 0
push str.Margin
push str.360Installer
call ebp
movzx eax, word [esp + 0x1c8]
neg eax
sbb eax, eax
lea ecx, [esp + 0x1c8]
and eax, ecx
mov ecx, dword [esi + 0x1c]
push eax
add ecx, 0xb8
call fcn.004302f0
push edi
push 0x1000
lea edx, [esp + 0x1d0]
push edx
push 0
push str.MainWindowSize
push str.360Installer
call ebp
cmp word [esp + 0x1c8], 0
je 0x413d1c
mov ecx, dword [esi + 0x1c]
lea eax, [esp + 0x1c8]
push eax
add ecx, 0x1b4
call fcn.004304d0
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax + 0x1b4]
add eax, 0x1b4
cmp ecx, 0x400
jle 0x413ce2
mov dword [eax], 0x400
jmp 0x413cf0
cmp ecx, 0x190
jge 0x413cf0
mov dword [eax], 0x190
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax + 0x1b8]
add eax, 0x1b8
cmp ecx, 0x300
jle 0x413d0e
mov dword [eax], 0x300
jmp 0x413d1c
cmp ecx, 0x12c
jge 0x413d1c
mov dword [eax], 0x12c
push edi
push 0x1000
lea ecx, [esp + 0x1d0]
push ecx
push 0
push str.GameList
push str.360Installer
call ebp
movzx eax, word [esp + 0x1c8]
mov ecx, dword [esi + 0x1c]
neg eax
sbb eax, eax
lea edx, [esp + 0x1c8]
and eax, edx
push eax
add ecx, 0x1bc
call fcn.0041ae80
push edi
push 0x1000
lea eax, [esp + 0x1d0]
push eax
push 0
push str.WizardPage
push str.360Installer
call ebp
cmp word [esp + 0x1c8], 0
je 0x413dbc
lea ecx, [esp + 0x1c8]
push ecx
call fcn.0042ec90
movzx edx, word [0x45394c]
push edx
mov ebx, eax
lea eax, [esp + 0x1d0]
push 0x2c
push eax
call fcn.0042ec50
add esp, 0x10
push ebx
lea ecx, [esp + 0x1cc]
push ecx
mov ecx, esi
call fcn.00411d60
push edi
push 0x1000
lea edx, [esp + 0x1d0]
push edx
push 0
push str.PRLogo
push str.360Installer
call ebp
cmp word [esp + 0x1c8], 0
je 0x413e69
lea ecx, [esp + 0x24]
call fcn.0042fe80
lea eax, [esp + 0x1c8]
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x21d8], 2
call fcn.00430630
mov ecx, dword [esp + 0x24]
cmp dword [ecx - 8], 0
je 0x413e58
mov eax, dword [esi + 4]
push ecx
push eax
lea ecx, [esp + 0x1d0]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov edx, dword [esp + 0x28]
push edx
lea eax, [esp + 0x1cc]
push eax
push 0x1f4
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esi + 0x1c]
add ecx, 0x28
call fcn.00410150
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x413e58
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x21d4], 1
call fcn.00410b70
push edi
push 0x1000
lea ecx, [esp + 0x1d0]
push ecx
push 0
push str.Caption
push str.360Installer
call ebp
movzx eax, word [esp + 0x1c8]
mov ecx, dword [esi + 0x1c]
neg eax
sbb eax, eax
lea edx, [esp + 0x1c8]
and eax, edx
push eax
add ecx, 0x140
call fcn.00409560
push edi
push 0x1000
lea eax, [esp + 0x1d0]
push eax
push 0
push str.CheckBoxName
push str.360Installer
call ebp
movzx eax, word [esp + 0x1c8]
neg eax
sbb eax, eax
lea ecx, [esp + 0x1c8]
and eax, ecx
mov ecx, dword [esi + 0x1c]
push eax
add ecx, 0x144
call fcn.00409560
push edi
push 0x1000
lea edx, [esp + 0x1d0]
push edx
push 0
push str.From
push str.360Installer
call ebp
movzx eax, word [esp + 0x1c8]
neg eax
sbb eax, eax
lea ecx, [esp + 0x1c8]
and eax, ecx
push eax
lea ecx, [esp + 0x24]
call fcn.00409f80
lea ecx, [esp + 0x20]
mov byte [esp + 0x21d4], 3
call fcn.00409310
lea ecx, [esp + 0x20]
call fcn.004092b0
mov edx, dword [esp + 0x20]
cmp dword [edx - 8], 0
je 0x413f57
lea eax, [esp + 0x20]
push eax
mov ecx, 0x453828
call fcn.00409e70
mov ebx, dword [0x4444f4]
mov dword [esp + 0x18], ebx
mov byte [esp + 0x21d4], 4
mov dword [esp + 0x24], 1
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x3c]
push str.BoldDes_d
push edx
call fcn.00407f00
add esp, 0xc
push edi
push 0x1000
lea eax, [esp + 0x1d0]
push eax
push 0
lea ecx, [esp + 0x48]
push ecx
push str.360Installer
call ebp
xor eax, eax
cmp word [esp + 0x1c8], ax
jne 0x413fb6
mov dword [esp + 0x1c], eax
jmp 0x413fca
lea edx, [esp + 0x1c8]
mov eax, edx
push eax
mov dword [esp + 0x20], edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp dword [ebx - 0xc], 1
mov dword [esp + 0x14], eax
lea eax, [ebx - 0xc]
mov dword [esp + 0x2c], eax
jg 0x413fe4
mov ecx, dword [esp + 0x14]
cmp ecx, dword [ebx - 4]
jle 0x414026
add ebx, 0xfffffff4
cmp ebx, dword [0x4444f0]
je 0x414010
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x414007
mov edx, dword [esp + 0x2c]
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
mov eax, dword [0x4444f4]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004084f0
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x414057
mov eax, dword [esp + 0x14]
add eax, eax
lea edx, [eax + 2]
mov dword [esp + 0x2c], eax
cmp edx, eax
jb 0x41404a
push eax
mov eax, dword [esp + 0x20]
push eax
push ebx
call sub.MSVCR90.dll_memcpy
mov eax, dword [esp + 0x38]
add esp, 0xc
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dword [ebx - 8], ecx
mov word [eax + ebx], dx
cmp dword [ebx - 8], 0
je 0x414082
mov ecx, dword [esi + 0x1c]
lea eax, [esp + 0x18]
push eax
add ecx, 0x160
call fcn.004138c0
mov eax, dword [esp + 0x24]
inc eax
cmp eax, 5
mov dword [esp + 0x24], eax
jl 0x413f71
mov dword [esp + 0x24], 1
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x3c]
push str.Descrip_d
push edx
call fcn.00407f00
add esp, 0xc
push edi
push 0x1000
lea eax, [esp + 0x1d0]
push eax
push 0
lea ecx, [esp + 0x48]
push ecx
push str.360Installer
call ebp
xor eax, eax
cmp word [esp + 0x1c8], ax
jne 0x4140cf
mov dword [esp + 0x1c], eax
jmp 0x4140e3
lea edx, [esp + 0x1c8]
mov eax, edx
push eax
mov dword [esp + 0x20], edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp dword [ebx - 0xc], 1
mov dword [esp + 0x14], eax
lea eax, [ebx - 0xc]
mov dword [esp + 0x2c], eax
jg 0x4140fd
mov ecx, dword [esp + 0x14]
cmp ecx, dword [ebx - 4]
jle 0x41413f
add ebx, 0xfffffff4
cmp ebx, dword [0x4444f0]
je 0x414129
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x414120
mov edx, dword [esp + 0x2c]
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
mov eax, dword [0x4444f4]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004084f0
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x414170
mov eax, dword [esp + 0x14]
add eax, eax
lea edx, [eax + 2]
mov dword [esp + 0x2c], eax
cmp edx, eax
jb 0x414163
push eax
mov eax, dword [esp + 0x20]
push eax
push ebx
call sub.MSVCR90.dll_memcpy
mov eax, dword [esp + 0x38]
add esp, 0xc
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dword [ebx - 8], ecx
mov word [eax + ebx], dx
cmp dword [ebx - 8], 0
je 0x41419b
mov ecx, dword [esi + 0x1c]
lea eax, [esp + 0x18]
push eax
add ecx, 0x148
call fcn.004138c0
mov eax, dword [esp + 0x24]
inc eax
cmp eax, 5
mov dword [esp + 0x24], eax
jl 0x41408a
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea ecx, [ebx - 0xc]
cmp ecx, dword [0x4444f0]
je 0x4141bf
add ebx, 0xfffffff4
push ebx
call esi
test eax, eax
jg 0x4141bf
push ebx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
mov eax, dword [esp + 0x20]
lea edx, [eax - 0xc]
cmp edx, dword [0x4444f0]
je 0x4141e8
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4141e8
mov eax, dword [esp + 0x20]
add eax, 0xfffffff4
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
mov eax, dword [esp + 0x34]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x4444f0]
je 0x414211
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x414211
mov edx, dword [esp + 0x34]
add edx, 0xfffffff4
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x21cc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x21b4]
xor ecx, esp
call fcn.00434fc4
add esp, 0x21c4
ret