Function at 0x423670
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42d733
mov eax, dword fs:[0]
push eax
sub esp, 0x498
mov eax, dword [0x4424f8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [ebp - 0x414]
mov dword [ebp - 0x458], esi
call dword [0x42f90c]
lea ecx, [ebp - 0x4a4]
mov dword [ebp - 4], 0
call dword [0x42f90c]
lea ecx, [ebp - 0x4a0]
call dword [0x42f90c]
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 2
call fcn.0041c940
push 0
lea ecx, [ebp - 0x4a4]
call fcn.0041ed80
lea eax, [ebp - 0x468]
push eax
mov byte [ebp - 4], 3
call fcn.00420420
lea ecx, [esi + 0x33234]
push ecx
push eax
lea edx, [ebp - 0x41c]
push edx
mov byte [ebp - 4], 4
call fcn.00401010
add esp, 0x10
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push 0
push 0
lea ecx, [ebp - 0x41c]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
push eax
call dword [sym.imp.MSVCR100.dll__waccess]
add esp, 8
cmp eax, 0xffffffff
jne 0x423775
lea ecx, [ebp - 0x41c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 0
call fcn.0041ebd0
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
xor eax, eax
jmp 0x423bde
push ecx
mov ecx, dword [ebp - 0x41c]
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x4a4]
mov dword [ebp - 0x430], esp
call fcn.004203e0
test al, al
je 0x423b75
mov edx, dword [ebp - 0x49c]
push 0
push 0
push edx
lea ecx, [ebp - 0x4a4]
call fcn.0041b440
push ecx
mov eax, esp
lea ecx, [ebp - 0x4a4]
mov dword [ebp - 0x430], esp
mov dword [eax], str.AddOnList
call fcn.0041d220
test al, al
je 0x423b75
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov bl, 0x11
lea esp, [esp]
push ecx
mov eax, esp
lea ecx, [ebp - 0x4a4]
mov dword [ebp - 0x418], esp
mov dword [eax], 0x42feac
call fcn.0041d2c0
test al, al
je 0x423b6f
push ecx
mov eax, esp
mov dword [eax], str.FileNAME
lea eax, [ebp - 0x424]
mov dword [ebp - 0x418], esp
push eax
lea ecx, [ebp - 0x4a4]
call fcn.00404f70
push ecx
mov eax, esp
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x418], esp
push ecx
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 7
mov dword [eax], 0x42ff28
call fcn.00404f70
push ecx
mov eax, esp
lea edx, [ebp - 0x420]
mov dword [ebp - 0x418], esp
push edx
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 8
mov dword [eax], str.Folder
call fcn.00404f70
push ecx
mov eax, esp
mov dword [eax], str.IsUnzip
lea eax, [ebp - 0x428]
mov dword [ebp - 0x418], esp
push eax
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 9
call fcn.00404f70
push ecx
mov eax, esp
lea ecx, [ebp - 0x434]
mov dword [ebp - 0x418], esp
push ecx
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 0xa
mov dword [eax], str.IsSilent
call fcn.00404f70
lea edx, [ebp - 0x460]
push edx
mov byte [ebp - 4], 0xb
call fcn.00420420
lea ecx, [ebp - 0x420]
push ecx
push eax
lea edx, [ebp - 0x450]
push edx
mov byte [ebp - 4], 0xc
call fcn.00408df0
lea ecx, [ebp - 0x424]
push ecx
push eax
lea edx, [ebp - 0x43c]
push edx
mov byte [ebp - 4], 0xd
call fcn.00408df0
add esp, 0x1c
lea ecx, [ebp - 0x450]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0x10
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
push ecx
mov ecx, esp
mov dword [ebp - 0x418], esp
lea eax, [ebp - 0x43c]
push eax
call dword [0x42f918]
lea ecx, [ebp - 0x42c]
push ecx
call fcn.00421b00
add esp, 8
push 0x4316a8
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], bl
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x423a0f
xor edx, edx
push 0x3fe
push edx
lea eax, [ebp - 0x40e]
push eax
mov word [ebp - 0x410], dx
call sub.MSVCR100.dll_memset
lea ecx, [ebp - 0x44c]
push ecx
call fcn.00420420
push str.fmkey
push eax
lea edx, [ebp - 0x45c]
push edx
mov byte [ebp - 4], 0x12
call fcn.00401010
mov esi, eax
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x420]
push ecx
lea edx, [ebp - 0x440]
push edx
mov byte [ebp - 4], 0x13
call fcn.00408df0
mov esi, dword [esi]
mov eax, dword [eax]
add esp, 0x28
push esi
push 0x400
lea ecx, [ebp - 0x410]
push ecx
push 0x42fad8
push eax
push str.value
call edi
lea ecx, [ebp - 0x440]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x45c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], bl
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea edx, [ebp - 0x410]
push edx
lea ecx, [ebp - 0x42c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov eax, dword [ebp - 0x438]
push eax
lea ecx, [ebp - 0x42c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
je 0x423b12
lea ecx, [ebp - 0x424]
push ecx
lea edx, [ebp - 0x420]
push edx
lea eax, [ebp - 0x430]
push eax
call fcn.00408df0
push 0x4370b4
push eax
lea ecx, [ebp - 0x448]
push ecx
mov byte [ebp - 4], 0x14
call fcn.00401010
lea edx, [ebp - 0x428]
push edx
push eax
lea eax, [ebp - 0x444]
push eax
mov byte [ebp - 4], 0x15
call fcn.00408df0
push 0x4370b4
push eax
lea ecx, [ebp - 0x464]
push ecx
mov byte [ebp - 4], 0x16
call fcn.00401010
lea edx, [ebp - 0x434]
push edx
push eax
lea eax, [ebp - 0x454]
push eax
mov byte [ebp - 4], 0x17
call fcn.00408df0
push 0x4370b4
push eax
lea ecx, [ebp - 0x46c]
push ecx
mov byte [ebp - 4], 0x18
call fcn.00401010
add esp, 0x48
push eax
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 0x19
call dword [0x42f86c]
lea ecx, [ebp - 0x46c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x454]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x464]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x444]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x448]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x430]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x42c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x43c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x434]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x428]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x420]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x438]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x424]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
jmp 0x4237e0
mov esi, dword [ebp - 0x458]
push 0x4370b4
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::TrimRight]
push 0
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
push eax
add esi, 0xc2c
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edx, dword [ebp - 0x414]
cmp dword [edx - 0xc], 0
lea ecx, [ebp - 0x41c]
je 0x42374d
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 0
call fcn.0041ebd0
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040f12c
mov esp, ebp
pop ebp
ret