Function at 0x40c530
Capabilities:
Create thread
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x264
mov eax, dword [0x4f62a0]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x224], ecx
push 0
push 0
push 0
push 0x40ebb0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x44c], eax
push str.tab_install
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x47c], eax
push str.lab_version
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x480], eax
push 0x4cfe24
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x484], eax
push 0x4cfe3c
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x488], eax
push str.edt_install_path
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x48c], eax
push str.opt_desktop_shortcut
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x490], eax
push str.opt_launch_shortcut
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x494], eax
push str.opt_run_with_windows
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x498], eax
push str.scan_progress
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x49c], eax
push str.lab_install_file
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x4a0], eax
push str.opt_run_gamepp
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x4a4], eax
push 0x4cff58
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x4ac], eax
push str.lab_dropbox
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x4b0], eax
push 0x4cff8c
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x4a8], eax
push str.lab_version_center
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x4b4], eax
push 0x4cffcc
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x4b8], eax
push 0x4cffe0
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x4bc], eax
push str.lab_tip_1
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x4d8], eax
push str.lab_tip_2
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x4dc], eax
push str.lab_tip_3
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x4e0], eax
push str.lab_tip_4
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x4e4], eax
push str.lab_tip_5
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x4e8], eax
push str.lab_tip_6
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x4ec], eax
push 0x4d0070
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x4f0], eax
push str.lab_tip_7
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x4f4], eax
push 0x4d009c
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x4f8], eax
push 0x4d00b4
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x4fc], eax
push str.lab_tip_8
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x500], eax
push str.lab_tip_9
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x504], eax
push str.lab_tip_10
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x508], eax
push str.lab_tip_11
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x50c], eax
push 0x4d0124
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x510], eax
push str.lab_tip_12
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x514], eax
push str.lab_tip_13
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x518], eax
push str.lab_tip_14
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x51c], eax
push str.lab_tip_15
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x520], eax
push 0x4d019c
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x524], eax
push 0x4d01b4
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x528], eax
push 0x4d01cc
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x52c], eax
push str.labex_module
mov ecx, dword [ebp - 0x224]
add ecx, 0x2c
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x4c0], eax
mov edx, dword [ebp - 0x224]
cmp dword [edx + 0x4c0], 0
je 0x40ca64
push 0x10
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 0x4c0]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CLabelUI::SetTextStyle_unsigned_int_
call fcn.0040bd10
add eax, 0xa28
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
add ecx, 2
mov dword [ebp - 0x22c], ecx
mov edx, dword [ebp - 0x228]
mov ax, word [edx]
mov word [ebp - 0x22e], ax
add dword [ebp - 0x228], 2
cmp word [ebp - 0x22e], 0
jne 0x40ca83
mov ecx, dword [ebp - 0x228]
sub ecx, dword [ebp - 0x22c]
sar ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 4
jbe 0x40cc35
call fcn.0040bd10
add eax, 0xa28
push eax
call fcn.0040bd10
mov ecx, eax
call fcn.00413e70
test eax, eax
je 0x40cbbf
call fcn.0040bd10
add eax, 0xa28
mov dword [ebp - 0x238], eax
call fcn.0040bd10
add eax, 0x410
mov dword [ebp - 0x23c], eax
mov edx, dword [ebp - 0x23c]
mov dword [ebp - 0x240], edx
mov eax, dword [ebp - 0x238]
mov cx, word [eax]
mov word [ebp - 0x242], cx
mov edx, dword [ebp - 0x23c]
mov ax, word [ebp - 0x242]
mov word [edx], ax
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
mov edx, dword [ebp - 0x23c]
add edx, 2
mov dword [ebp - 0x23c], edx
cmp word [ebp - 0x242], 0
jne 0x40cb10
lea ecx, [ebp - 0x21c]
call fcn.00405ce0
call fcn.0040bd10
add eax, 0xa28
push eax
push str._sVConfig.ini
lea eax, [ebp - 0x21c]
push eax
call fcn.004068d0
add esp, 0xc
lea ecx, [ebp - 0x21c]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
push 0x14
mov ecx, dword [ebp - 0x224]
add ecx, 0x450
push ecx
push 0x4d0220
push str.version
push 0x4d0234
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [ebp - 0x21c]
call fcn.00405d40
jmp 0x40cc33
call fcn.0040bd10
add eax, 0x820
mov dword [ebp - 0x248], eax
call fcn.0040bd10
add eax, 0x410
mov dword [ebp - 0x24c], eax
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x248]
mov cx, word [eax]
mov word [ebp - 0x252], cx
mov edx, dword [ebp - 0x24c]
mov ax, word [ebp - 0x252]
mov word [edx], ax
mov ecx, dword [ebp - 0x248]
add ecx, 2
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x24c]
add edx, 2
mov dword [ebp - 0x24c], edx
cmp word [ebp - 0x252], 0
jne 0x40cbeb
jmp 0x40cca9
call fcn.0040bd10
add eax, 0x820
mov dword [ebp - 0x258], eax
call fcn.0040bd10
add eax, 0x410
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x258]
mov dx, word [ecx]
mov word [ebp - 0x262], dx
mov eax, dword [ebp - 0x25c]
mov cx, word [ebp - 0x262]
mov word [eax], cx
mov edx, dword [ebp - 0x258]
add edx, 2
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x25c]
add eax, 2
mov dword [ebp - 0x25c], eax
cmp word [ebp - 0x262], 0
jne 0x40cc61
push 0x208
push 0
lea ecx, [ebp - 0x218]
push ecx
call fcn.0042efe0
add esp, 0xc
push 0x104
lea edx, [ebp - 0x218]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
call fcn.0040bd10
add eax, 0x1450
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040bd10
mov ecx, eax
call fcn.00416550
lea ecx, [ebp - 0xc]
call fcn.00405ce0
call fcn.0040bd10
add eax, 0x1450
push eax
push 0x4d0250
lea ecx, [ebp - 0xc]
push ecx
call fcn.004068d0
add esp, 0xc
mov edx, dword [ebp - 0x224]
cmp dword [edx + 0x480], 0
je 0x40cd4e
lea ecx, [ebp - 0xc]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 0x480]
mov edx, dword [ebp - 0x224]
mov eax, dword [edx + 0x480]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x2c]
call eax
call fcn.0040bd10
add eax, 0x1450
push eax
push 0x4d0258
lea ecx, [ebp - 0xc]
push ecx
call fcn.004068d0
add esp, 0xc
mov edx, dword [ebp - 0x224]
cmp dword [edx + 0x4b4], 0
je 0x40cda3
lea ecx, [ebp - 0xc]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 0x4b4]
mov edx, dword [ebp - 0x224]
mov eax, dword [edx + 0x4b4]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [ebp - 0x224]
cmp dword [ecx + 0x47c], 0
je 0x40cdc5
push 0
mov edx, dword [ebp - 0x224]
mov ecx, dword [edx + 0x47c]
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CTabLayoutUI::SelectItem_int_
lea eax, [ebp - 8]
push eax
call fcn.0040bd10
mov ecx, eax
call fcn.00414ec0
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 4]
push edx
call fcn.0040bfd0
add esp, 8
push 0x4d027c
lea ecx, [ebp - 4]
call fcn.00405dc0
test eax, eax
je 0x40ce30
push 0x4d0284
lea ecx, [ebp - 4]
call fcn.00405dc0
test eax, eax
je 0x40ce30
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov dword [ebp - 0x220], eax
xor eax, eax
cmp dword [ebp - 0x220], 0x804
setne al
mov ecx, dword [ebp - 0x224]
mov byte [ecx + 0x478], al
jmp 0x40ce50
push 0x4d028c
lea ecx, [ebp - 4]
call fcn.00405dc0
neg eax
sbb eax, eax
add eax, 1
mov edx, dword [ebp - 0x224]
mov byte [edx + 0x478], al
mov eax, dword [ebp - 0x224]
movzx ecx, byte [eax + 0x478]
test ecx, ecx
je 0x40ceae
mov edx, dword [ebp - 0x224]
cmp dword [edx + 0x528], 0
je 0x40ce96
push 1
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 0x528]
mov edx, dword [ebp - 0x224]
mov eax, dword [edx + 0x528]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x134]
call eax
mov ecx, dword [ebp - 0x224]
call fcn.0040fa60
mov ecx, dword [ebp - 0x224]
call fcn.0040f140
jmp 0x40cef7
mov ecx, dword [ebp - 0x224]
cmp dword [ecx + 0x52c], 0
je 0x40cee1
push 1
mov edx, dword [ebp - 0x224]
mov eax, dword [edx + 0x52c]
mov ecx, dword [ebp - 0x224]
mov ecx, dword [ecx + 0x52c]
mov edx, dword [eax]
mov eax, dword [edx + 0x134]
call eax
mov ecx, dword [ebp - 0x224]
call fcn.0040fb40
mov ecx, dword [ebp - 0x224]
call fcn.0040f5d0
push 0
push 0x64
push 1
mov ecx, dword [ebp - 0x224]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_SetTimer]
lea ecx, [ebp - 4]
call fcn.00405d40
lea ecx, [ebp - 8]
call fcn.00405d40
lea ecx, [ebp - 0xc]
call fcn.00405d40
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00425912
mov esp, ebp
pop ebp
ret