Function at 0x415870
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x444aa9
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push esi
push edi
mov eax, dword [0x467060]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x14], ebx
push str.IDB_NATION_ICON_LIST
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::ORES_TABLE____cdecl_OUI::ORES_TABLE::GetResTable_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_struct_OUI::IImage____thiscall_OUI::ORES_TABLE::LoadImageW_wchar_t_const__]
mov edi, dword [sym.imp.ouilibx.dll_public:_class_OUI::COVWnd____thiscall_OUI::COVDialog::GetDlgItem_wchar_t_const__]
push 0
push 0x467918
push 0x4671a4
push 0
push str.IDC_SELECT_LANG
mov ecx, ebx
mov dword [esp + 0x38], eax
call edi
push eax
call sub.MSVCR110.dll___RTDynamicCast
mov esi, eax
add esp, 0x14
mov dword [esp + 0x1c], esi
test esi, esi
je 0x415a3f
mov eax, dword [ebx + 0xcc]
sub eax, dword [ebx + 0xc8]
xor edi, edi
sar eax, 3
xor ebx, ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ebx
test eax, eax
jle 0x415a2a
push 0
push 0x44acac
mov ecx, esi
call dword [sym.imp.ouilibx.dll_public:_class_OUI::COVComboItem____thiscall_OUI::COVComboBox::AddString_wchar_t_const___unsigned_long_int_]
mov dword [esp + 0x28], eax
test eax, eax
je 0x415a1b
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_struct_OUI::IControl____thiscall_OUI::COVWnd::GetControl_void_]
mov esi, eax
mov dword [esp + 0x30], esi
test esi, esi
je 0x415947
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov dword [esp + 0x48], 0
test esi, esi
je 0x41597a
mov eax, dword [esi]
push 2
push 4
mov ecx, esi
call dword [eax + 0x58]
mov eax, dword [esi]
push 0x5c5c5c
push 0
mov ecx, esi
call dword [eax + 0x60]
mov eax, dword [esi]
push 0x7bd14
push 5
mov ecx, esi
call dword [eax + 0x60]
mov edi, dword [esp + 0x14]
push 0x18
mov edi, dword [edi + 0xc8]
push 0x18
lea ecx, [esp + 0x3c]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COSize::constructor_int__int_]
push dword [edi + ebx*8 + 4]
mov ecx, dword [esp + 0x2c]
push dword [eax + 4]
push dword [eax]
push 2
push dword [esp + 0x34]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COVListItem::UpdateImage_struct_OUI::IImage___enum_OUI::_BT_ICON_STYLE__class_OUI::COSize__int_]
mov eax, dword [esp + 0x14]
mov ecx, dword [0x469f34]
mov edi, dword [eax + 0xc8]
test ecx, ecx
jne 0x4159ed
push 0xe4
call dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [esp + 0x28], eax
mov byte [esp + 0x48], 1
test eax, eax
je 0x4159e5
mov ecx, eax
call fcn.0040dc50
mov ecx, eax
jmp 0x4159e7
xor ecx, ecx
mov dword [0x469f34], ecx
mov eax, dword [edi + ebx*8]
cmp eax, dword [ecx + 0xa8]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
cmove edi, ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x48], 0xffffffff
test esi, esi
je 0x415a17
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov esi, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x20], ebx
cmp ebx, dword [esp + 0x2c]
jl 0x415914
push 1
push edi
mov ecx, esi
call dword [sym.imp.ouilibx.dll_public:_int___thiscall_OUI::COVComboBox::SetCurSel_int__bool_]
mov ebx, dword [esp + 0x14]
mov edi, dword [sym.imp.ouilibx.dll_public:_class_OUI::COVWnd____thiscall_OUI::COVDialog::GetDlgItem_wchar_t_const__]
mov ecx, ebx
call fcn.00417bf0
push 0
push 0x467918
push 0x4671a4
push 0
push str.IDC_PATH_COMBO
mov ecx, ebx
call edi
push eax
call sub.MSVCR110.dll___RTDynamicCast
mov esi, eax
add esp, 0x14
test esi, esi
je 0x415b12
mov eax, dword [0x469f34]
test eax, eax
jne 0x415aaf
push 0xe4
call dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], 2
test eax, eax
je 0x415aa0
mov ecx, eax
call fcn.0040dc50
jmp 0x415aa2
xor eax, eax
mov dword [esp + 0x48], 0xffffffff
mov dword [0x469f34], eax
add eax, 0x78
cmp dword [eax + 0x14], 8
jb 0x415aba
mov eax, dword [eax]
push 0
push eax
push esi
call fcn.00415ba0
lea eax, [esp + 0x2c]
push str.IDS_INSTALL_USE_DEFAULT_DIR
push eax
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::OSTRING_TABLE____cdecl_OUI::OSTRING_TABLE::GetStringTable_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_class_OUI::COString___thiscall_OUI::OSTRING_TABLE::LoadStringW_wchar_t_const__]
push 1
mov ecx, eax
mov dword [esp + 0x4c], 3
call dword [sym.imp.ouilibx.dll_public:_wchar_t_const____thiscall_OUI::COString::operator_wchar_t_const__void_const]
push eax
push esi
call fcn.00415ba0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x48], 0xffffffff
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COString::destructor_void_]
push 1
push 0
mov ecx, esi
call dword [sym.imp.ouilibx.dll_public:_int___thiscall_OUI::COVComboBox::SetCurSel_int__bool_]
push 0
push 0x467898
push 0x4671a4
push 0
push str.IDC_INSTALL_PLUGIN_CHK
mov ecx, ebx
call edi
push eax
call sub.MSVCR110.dll___RTDynamicCast
mov esi, eax
add esp, 0x14
test esi, esi
je 0x415b59
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x40]
mov esi, dword [esi + 0x48]
test esi, esi
je 0x415b59
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x8c]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x58]
push 0
push 0x467898
push 0x4671a4
push 0
push str.IDC_INSTALL_PLUGIN_CHK
mov ecx, ebx
call edi
push eax
call sub.MSVCR110.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je 0x415b85
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_int___thiscall_OUI::COVCheckBox::GetCheck_void_const]
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret