Function at 0x401bd0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x493eb7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x17c
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
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x4982d0
mov ecx, 6
mov esi, str.CBaseRecData::CBaseRecData
lea edi, [ebp - 0x2c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x64], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x68], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x6c], 0
push 0x400
push 0
mov ecx, dword [ebp - 0x10]
add ecx, 0xf8
push ecx
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0xb1
push 0
mov edx, dword [ebp - 0x10]
add edx, 0x8ec
push edx
call sub.MSVCRT.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x95c], 0x200
push 0x86
push 0
mov ecx, dword [ebp - 0x10]
add ecx, 0x866
push ecx
call sub.MSVCRT.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x626], 0
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x658], 0
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x68a], 0
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x83c], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x83c], 0x10
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x840], 0x2d
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x841], 0x20
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x842], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x846], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x164c], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x70], 0
mov ecx, dword [ebp - 0x10]
call fcn.00402a10
push 0x320
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x134], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x134], 0
je 0x401d4d
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x134]
call fcn.00422470
mov dword [ebp - 0x148], eax
jmp 0x401d57
mov dword [ebp - 0x148], 0
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x130], edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x130]
mov dword [eax + 0x70], ecx
cmp dword [ebp - 0x130], 0
jne 0x401d99
lea ecx, [ebp - 0x140]
call dword [sym.imp.MSVCRT.dll_public:_void___thiscall_exception::constructor_void_]
push 0x4a25a8
lea edx, [ebp - 0x140]
push edx
call sub.MSVCRT.dll__CxxThrowException
push 0
push 0xffffffffffffffff
call sub.WINDCS32.dll_Ordinal_69
push eax
push str._sSYSeditrec.INI
lea eax, [ebp - 0x12c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x12c]
push ecx
push 0xa
push str.GopDefault
push str.Select
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x86a], eax
push 0
push 4
call sub.WINDCS32.dll_Ordinal_69
push eax
push str._s_recipeprojectplant.INI
lea eax, [ebp - 0x12c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x12c]
push ecx
push 0
push str.EnableStreams
push str.Version4.60
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x8e4], eax
push 0x42
call sub.WINDCS32.dll_Ordinal_53_1
push eax
call sub.PROD32.DLL_Ordinal_1_2
test eax, eax
jne 0x401e39
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x8e4], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x8e8], 0
lea edx, [ebp - 0x12c]
push edx
push 0
push str._Trace
push str.Test
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x15c8], eax
lea edx, [ebp - 0x12c]
push edx
push 0x1e
mov eax, dword [ebp - 0x10]
add eax, 0x78
push eax
push str.c:_tmp_bredit.txt
push str._TraceFile
push str.Select
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x12c]
push ecx
push 0
push str._TestBstRead
push str.Test
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x866], eax
lea eax, [ebp - 0x12c]
push eax
push 1
push str.ParaAskIfSave
push str.Select
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x74], eax
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x60], 0
push 0x128b5
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x144]
mov dword [eax + 0x60], ecx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x15c0], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x15bc], 0
push 0x1c
push 0
mov ecx, dword [ebp - 0x10]
add ecx, 0x84a
push ecx
call sub.MSVCRT.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x15bb], 0
mov eax, dword [ebp - 0x10]
mov word [eax + 0x15b9], 0
push 0
call sub.BALIPARA.dll_Ordinal_1
push 0x1c
push 0
mov ecx, dword [ebp - 0x10]
add ecx, 0x159d
push ecx
call sub.MSVCRT.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x15b5], 0
mov eax, dword [ebp - 0x10]
add eax, 0x159d
push eax
call fcn.00466910
add esp, 4
test eax, eax
jne 0x401fc6
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x15ad], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x15b1], 0
push 0xa
mov ax, word [0x4a90bc]
push eax
call sub.TraceAPI.dll_Ordinal_20
add esp, 8
test eax, eax
je 0x401fc6
push str.Not_enough_memory_for_process_parameters_
lea ecx, [ebp - 0x2c]
push ecx
push 0xa
mov dx, word [0x4a90bc]
push edx
call sub.TraceAPI.dll_Ordinal_30_1
add esp, 0x10
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x1650], 0
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x1651], 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