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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x672306
push eax
mov eax, 0x30a4
mov dword fs:[0], esp
call fcn.006097e0
mov eax, dword [0x739418]
push ebx
push esi
xor esi, esi
cmp eax, esi
push edi
jne 0x450a94
xor eax, eax
jmp 0x450f73
cmp dword [0x73940c], esi
je 0x450f6e
push esi
push esi
push esi
push str.CPreferences::SaveInternal__
lea ecx, [esp + 0x88]
call fcn.004245e0
mov eax, dword [esp + 0x30c0]
mov dword [esp + 0x30b8], esi
cmp eax, esi
je 0x450acd
push str.External_call_to_CPreferences::Save__
jmp 0x450ad2
push str.Saving_preferences_in_CPreferences__
call fcn.0040dac0
add esp, 4
lea eax, [esp + 0xc]
push 0x2e
push eax
call fcn.0040f460
mov eax, dword [eax]
push esi
push eax
push 0x71813c
push str.AppVer
mov byte [esp + 0x30d0], 1
call fcn.00451890
add esp, 0x18
lea ecx, [esp + 0xc]
mov byte [esp + 0x30b8], 0
call sub.MFC42u.DLL_CString::CString
mov edi, vtable.CArray_struct_INISECTION___struct_INISECTION___.0
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x18]
mov byte [esp + 0x30b8], 2
push ecx
call fcn.00450fe0
mov ebx, eax
add esp, 4
lea ecx, [esp + 0x50]
mov dword [esp + 0x40], ebx
call fcn.006086f6
lea edx, [ebx + ebx]
push 0xffffffffffffffff
push edx
lea ecx, [esp + 0x58]
mov byte [esp + 0x30c0], 3
call sub.MFC42u.DLL_CStringArray::SetSize
cmp ebx, esi
mov dword [esp + 0xc], esi
jle 0x450d7b
push ebp
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x58]
mov ebp, dword [eax + esi*4]
lea eax, [edx + esi*8]
mov ecx, dword [ebp]
push ecx
push 0x71ddb0
push eax
call sub.MFC42u.DLL_CString::Format_1
add esp, 0xc
lea ecx, [esp + 0x68]
call fcn.006086f6
mov eax, dword [ebp + 0x10]
push 0xa
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0x30c4], 4
call sub.MFC42u.DLL_CStringArray::SetSize
mov edi, dword [ebp + 0x10]
neg edi
sbb edi, edi
test edi, edi
je 0x450cde
xor ebx, ebx
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::CString_5
push 0
push 0
push 0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x30c8], 5
call fcn.0044f9d0
cmp edi, 0xffffffff
mov byte [esp + 0x30bc], 6
mov esi, edi
jne 0x450c10
mov edx, dword [ebp + 0xc]
xor eax, eax
test edx, edx
jbe 0x450c10
mov ecx, dword [ebp + 8]
mov esi, dword [ecx]
test esi, esi
jne 0x450c10
inc eax
add ecx, 4
cmp eax, edx
jb 0x450c02
mov edi, dword [esi]
test edi, edi
jne 0x450c35
mov eax, dword [esi + 4]
mov edx, dword [ebp + 0xc]
inc eax
cmp eax, edx
jae 0x450c35
mov ecx, dword [ebp + 8]
lea ecx, [ecx + eax*4]
mov edi, dword [ecx]
test edi, edi
jne 0x450c35
inc eax
add ecx, 4
cmp eax, edx
jb 0x450c27
lea edx, [esi + 8]
lea ecx, [esp + 0x14]
push edx
call sub.MFC42u.DLL_CString::operator_2
add esi, 0xc
lea ecx, [esp + 0x30]
push esi
call sub.MFC42u.DLL_CString::operator_2
lea eax, [esi + 4]
lea ecx, [esp + 0x34]
push eax
call sub.MFC42u.DLL_CString::operator_2
mov ecx, dword [esi + 8]
lea edx, [esp + 0x48]
mov dword [esp + 0x38], ecx
push edx
lea ecx, [esp + 0x34]
call fcn.0044fa30
push eax
mov eax, dword [esp + 0x70]
mov ecx, ebx
mov byte [esp + 0x30c0], 7
add ecx, eax
add ebx, 4
call sub.MFC42u.DLL_CString::operator_2
lea ecx, [esp + 0x48]
mov byte [esp + 0x30bc], 6
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x34]
mov byte [esp + 0x30bc], 8
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x30]
mov byte [esp + 0x30bc], 5
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x30bc], 4
call sub.MFC42u.DLL_CString::CString
test edi, edi
jne 0x450bc7
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x68]
push 0
push ecx
call fcn.0041b920
mov edx, dword [0x7393b8]
push 0
lea eax, [esp + 0x74]
push edx
lea ecx, [esp + 0x4c]
push eax
push ecx
call fcn.004182e0
add esp, 0x18
push 0x7393b8
lea edx, [esp + 0x44]
push eax
push edx
mov byte [esp + 0x30c8], 9
call sub.MFC42u.DLL_operator_3
push eax
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x30c0], 0xa
lea ecx, [eax + esi*8 + 4]
call sub.MFC42u.DLL_CString::operator_2
lea ecx, [esp + 0x40]
mov byte [esp + 0x30bc], 9
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x3c]
mov byte [esp + 0x30bc], 4
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x68]
mov byte [esp + 0x30bc], 3
call sub.MFC42u.DLL_CStringArray::CStringArray
inc esi
cmp esi, ebx
mov dword [esp + 0x10], esi
jl 0x450b76
mov edi, vtable.CArray_struct_INISECTION___struct_INISECTION___.0
xor esi, esi
pop ebp
mov ecx, dword [0x7393b8]
push esi
lea edx, [esp + 0x54]
push ecx
lea eax, [esp + 0x1c]
push edx
push eax
call fcn.004182e0
add esp, 0x10
push str..bak
lea ecx, [esp + 0x14]
mov byte [esp + 0x30bc], 0xb
call sub.MFC42u.DLL_CString::CString_6
push str.ini.Backup
lea ecx, [esp + 0x10]
mov byte [esp + 0x30bc], 0xc
call sub.MFC42u.DLL_CString::CString_6
lea ecx, [esp + 0x10]
lea edx, [esp + 0xc]
push ecx
push edx
push 9
push 0x7393b4
lea ecx, [esp + 0x58]
mov byte [esp + 0x30c8], 0xd
call fcn.0040b430
lea ecx, [esp + 0xc]
mov byte [esp + 0x30b8], 0x10
call sub.MFC42u.DLL_CString::CString
mov bl, 0xf
lea ecx, [esp + 0x10]
mov byte [esp + 0x30b8], bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x8c]
call fcn.0044b2f0
mov eax, dword [0x7393b4]
push esi
push esi
push esi
push 0x1001
push eax
lea ecx, [esp + 0xa0]
mov byte [esp + 0x30cc], 0x11
call fcn.0044b340
test eax, eax
jne 0x450ecd
lea ecx, [esp + 0x8c]
mov byte [esp + 0x30b8], bl
mov dword [esp + 0x8c], vtable.CStdioFileEx.0
call sub.MFC42u.DLL_CStdioFile::CStdioFile
lea ecx, [esp + 0x48]
mov byte [esp + 0x30b8], 0xb
call fcn.0040b4a0
lea ecx, [esp + 0x14]
mov byte [esp + 0x30b8], 3
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
mov byte [esp + 0x30b8], 2
call sub.MFC42u.DLL_CStringArray::CStringArray
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x30b8], 0x12
cmp eax, esi
je 0x450eaa
push eax
call sub.MFC42u.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x78]
mov dword [esp + 0x18], vtable.CObject.0
mov dword [esp + 0x30b8], 0xffffffff
call fcn.00424610
xor eax, eax
jmp 0x450f73
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x90]
call fcn.0044b6d0
lea ecx, [esp + 0x8c]
mov byte [esp + 0x30b8], bl
mov dword [esp + 0x8c], vtable.CStdioFileEx.0
call sub.MFC42u.DLL_CStdioFile::CStdioFile
lea ecx, [esp + 0x48]
mov dword [0x73940c], esi
mov byte [esp + 0x30b8], 0xb
call fcn.0040b4a0
lea ecx, [esp + 0x14]
mov byte [esp + 0x30b8], 3
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
mov byte [esp + 0x30b8], 2
call sub.MFC42u.DLL_CStringArray::CStringArray
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x30b8], 0x13
cmp eax, esi
je 0x450f52
push eax
call sub.MFC42u.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x78]
mov dword [esp + 0x18], vtable.CObject.0
mov dword [esp + 0x30b8], 0xffffffff
call fcn.00424610
mov eax, 1
mov ecx, dword [esp + 0x30b0]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x30b0
ret