Function at 0x406310
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x407ead
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xac
push ebx
push esi
mov esi, dword [esp + 0xc8]
push edi
push str.Drawing_Window
lea eax, [esp + 0x30]
push esi
push eax
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0xc]
mov dword [esp + 0xc0], 0
call sub.MFC42.DLL_CString::CString_1
push 0
lea ecx, [esp + 0x10]
push 0x40a7a0
push ecx
mov byte [esp + 0xcc], 1
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0xc]
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00406f3e
push ecx
mov byte [esp + 0xcc], 2
mov ecx, esp
mov dword [esp + 0x24], esp
push str.SDIMode
call sub.MFC42.DLL_CString::CString_2
push ecx
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
mov byte [esp + 0xd4], 3
call fcn.00406f3e
push 1
mov byte [esp + 0xd4], 1
call fcn.00403ed0
add esp, 0x14
lea ecx, [esp + 0x20]
push str.General
push esi
push ecx
call sub.MFC42.DLL_operator_1
push 1
lea edx, [esp + 0x10]
push 0x40a7a0
push edx
mov byte [esp + 0xcc], 4
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea eax, [esp + 0xc]
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.00406f3e
push ecx
mov byte [esp + 0xcc], 5
mov ecx, esp
mov dword [esp + 0x24], esp
push str.NoStartUpDialog
call sub.MFC42.DLL_CString::CString_2
push ecx
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x24], esp
mov byte [esp + 0xd0], 6
push edx
call fcn.00406f3e
push 1
mov byte [esp + 0xd4], 4
call fcn.00403ed0
add esp, 0x14
lea eax, [esp + 0x34]
push str.General
push esi
push eax
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0xc]
mov byte [esp + 0xc0], 7
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Osmode
call sub.MFC42.DLL_CString::CString_2
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xd0], 8
call fcn.00406f3e
push 1
mov byte [esp + 0xd0], 7
call fcn.00403bd0
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 0x14
or ah, 2
lea ecx, [esp + 0xc]
push eax
push 0x40a7a0
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0xc]
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.00406f3e
push ecx
mov byte [esp + 0xcc], 9
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Osmode
call sub.MFC42.DLL_CString::CString_2
push ecx
lea eax, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
mov byte [esp + 0xd4], 0xa
call fcn.00406f3e
push 1
mov byte [esp + 0xd4], 7
call fcn.00403ed0
add esp, 0x14
lea ecx, [esp + 0x28]
push str.General
push esi
push ecx
call sub.MFC42.DLL_operator_1
push 4
lea edx, [esp + 0x10]
push 0x40a7a0
push edx
mov byte [esp + 0xcc], 0xb
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 4
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.00406f3e
push ecx
mov byte [esp + 0xcc], 0xc
mov ecx, esp
mov dword [esp + 0x24], esp
push str.CmdVisLines
call sub.MFC42.DLL_CString::CString_2
push ecx
lea edx, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xd4], 0xd
call fcn.00406f3e
push 1
mov byte [esp + 0xd4], 0xb
call fcn.00403ed0
add esp, 0x14
lea eax, [esp + 0x30]
push str.General
push esi
push eax
call sub.MFC42.DLL_operator_1
push 3
lea ecx, [esp + 0x10]
push 0x40a7a0
push ecx
mov byte [esp + 0xcc], 0xe
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0xc]
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.00406f3e
push ecx
mov byte [esp + 0xcc], 0xf
mov ecx, esp
mov dword [esp + 0x24], esp
push str.ARXDemandLoad
call sub.MFC42.DLL_CString::CString_2
push ecx
lea eax, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
mov byte [esp + 0xd4], 0x10
call fcn.00406f3e
push 1
mov byte [esp + 0xd4], 0xe
call fcn.00403ed0
mov eax, dword [0x40ab30]
add esp, 0x14
test eax, eax
jne 0x4066d8
push 4
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0xc0], 0x11
je 0x406656
mov ecx, eax
call fcn.00401050
jmp 0x406658
xor eax, eax
mov dword [0x40ab30], eax
mov ecx, 0x20
xor eax, eax
lea edi, [esp + 0x38]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x38]
push 0x80
push ecx
push eax
mov byte [esp + 0xcc], 0xe
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x38]
lea ecx, [esp + 0x14]
push edx
call sub.MFC42.DLL_CString::CString_2
push 0x5c
lea ecx, [esp + 0x18]
mov byte [esp + 0xc4], 0x12
call sub.MFC42.DLL_CString::ReverseFind
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx - 8]
sub ecx, eax
push ecx
push eax
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Delete
lea edx, [esp + 0x14]
mov ecx, 0x40ab2c
push edx
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x14]
mov byte [esp + 0xc0], 0xe
call sub.MFC42.DLL_CString::CString
mov ecx, dword [0x40ab30]
lea eax, [esp + 0x1c]
push eax
call fcn.00402bc0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
lea edx, [esp + 0x24]
push str.Temp
mov bl, 0x13
push edx
push ecx
mov byte [esp + 0xd4], bl
call sub.MFC42.DLL_operator_1
push ecx
mov byte [esp + 0xcc], 0x14
mov ecx, esp
mov dword [esp + 0x24], esp
push str.LogFilePath
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0xd0], 0x15
mov eax, esp
mov dword [esp + 0x34], esp
push str.Editor_Configuration
push esi
push eax
call sub.MFC42.DLL_operator_1
push 1
mov byte [esp + 0xd4], bl
call fcn.00403ed0
add esp, 0x14
lea edx, [esp + 0x1c]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Temp
push edx
push ecx
call sub.MFC42.DLL_operator_1
push ecx
mov byte [esp + 0xcc], 0x16
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.SaveFilePath
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0xd0], 0x17
mov eax, esp
mov dword [esp + 0x28], esp
push str.Editor_Configuration
push esi
push eax
call sub.MFC42.DLL_operator_1
push 1
mov byte [esp + 0xd4], bl
call fcn.00403ed0
add esp, 0x14
lea edx, [esp + 0x1c]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Temp
push edx
push ecx
call sub.MFC42.DLL_operator_1
push ecx
mov byte [esp + 0xcc], 0x18
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.TempDirectory
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0xd0], 0x19
mov eax, esp
mov dword [esp + 0x28], esp
push str.General_Configuration
push esi
push eax
call sub.MFC42.DLL_operator_1
push 1
mov byte [esp + 0xd4], bl
call fcn.00403ed0
add esp, 0x14
lea edx, [esp + 0x1c]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Temp
push edx
push ecx
call sub.MFC42.DLL_operator_1
push ecx
mov byte [esp + 0xcc], 0x1a
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.PlotSpoolerDirectory
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0xd0], 0x1b
mov eax, esp
mov dword [esp + 0x28], esp
push str.General_Configuration
push esi
push eax
call sub.MFC42.DLL_operator_1
push 1
mov byte [esp + 0xd4], bl
call fcn.00403ed0
add esp, 0x14
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40ab34
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0xcc], 0x1c
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.Parallel_background
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0xd0], 0x1d
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Drawing_Window
push esi
push ecx
call sub.MFC42.DLL_operator_1
push 1
mov byte [esp + 0xd4], bl
call fcn.00403ed0
add esp, 0x14
lea ecx, [esp + 0x1c]
mov byte [esp + 0xc0], 0xe
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov byte [esp + 0xc0], 0xb
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0xc0], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov byte [esp + 0xc0], 4
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0xc0], 1
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov byte [esp + 0xc0], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov dword [esp + 0xc0], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0xb8]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0xb8
ret