Function at 0x4199e0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4945f6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xcc
push ebx
push esi
push edi
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
call sub.MFC42.DLL_CDocument::CDocument
mov dword [ebp - 4], 0
lea eax, [ebp - 0x98]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x4de6
call fcn.0041e9c0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x10]
add ecx, 0xbe9b
call sub.MFC42.DLL_CString::CString_2
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x10]
add ecx, 0xbe9f
call sub.MFC42.DLL_CString::CString_2
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0x49a950
push 0
push 4
call sub.WINDCS32.dll_Ordinal_69
push eax
push str._s_recipeprojectplant.ini
lea edx, [ebp - 0x90]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0x90]
push eax
push 0x40
mov ecx, dword [ebp - 0x10]
add ecx, 0xbe33
push ecx
push 0x49a94c
push 0x49a948
push str.componentlist
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x90]
push edx
push 0
push str.chksum
push str.mainrecipe
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0xbeb3], eax
lea edx, [ebp - 0x90]
push edx
push 0
push str.chksum
push str.componentlist
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0xbeb7], eax
lea edx, [ebp - 0x90]
push edx
push 1
push str.Enable
push str.componentlist
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0xbebf], eax
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xbd9f], 0
push 0
push 0xffffffffffffffff
call sub.WINDCS32.dll_Ordinal_69
push eax
push str._s_syseditrec.ini
lea eax, [ebp - 0x90]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov dword [ebp - 0x94], 0
lea ecx, [ebp - 0x90]
push ecx
push 0
push str.SuppressPPLMsg
push str.processparameterlist
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 1
jne 0x419b70
mov edx, dword [ebp - 0x10]
mov byte [edx + 0xbed8], 1
jmp 0x419b7a
mov eax, dword [ebp - 0x10]
mov byte [eax + 0xbed8], 0
mov ecx, dword [ebp - 0x10]
mov word [ecx + 0x4e57], 0xffff
mov edx, dword [ebp - 0x10]
mov word [edx + 0x4f6f], 0xffff
mov eax, dword [ebp - 0x10]
mov word [eax + 0x60], 0xffff
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0xbdaf], 0
push 0
mov ecx, dword [ebp - 0x10]
call fcn.0040aa80
mov edx, dword [ebp - 0x10]
mov byte [edx + 0xbed9], 0
push 0x9c
mov ecx, dword [ebp - 0x10]
add ecx, 0xbe9f
call sub.MFC42.DLL_CString::LoadStringA
test eax, eax
jne 0x419be6
push str.Recipe
mov ecx, dword [ebp - 0x10]
add ecx, 0xbe9f
call sub.MFC42.DLL_CString::operator
push 0x13
mov eax, dword [ebp - 0x10]
add eax, 0xbe73
push eax
push 0x8f
call fcn.004124a0
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x13
mov ecx, dword [ebp - 0x10]
add ecx, 0xbe87
push ecx
push 0x90
call fcn.004124a0
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x7f
mov edx, dword [ebp - 0x10]
add edx, 0xbdb3
push edx
push 0x22c
call fcn.004124a0
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x58], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x5c], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xbed4], 0
mov eax, dword [ebp - 0x10]
mov byte [eax + 0xbed3], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0xbeaf], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xbea7], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0xbea3], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret