Function at 0x403550
Capabilities:
Read .ini file

Disassembly:
mov eax, dword [0x411260]
sub esp, 0x20
test eax, eax
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push ebp
push esi
push edi
jne 0x4035c0
push 0x40e428
push 0
push str.WindowPositionX
push 0x40e448
call ebx
push 0x40e458
push 0
push str.WindowPositionY
push 0x40e478
mov ebp, eax
call ebx
push 0x40e488
push 0x280
push str.WindowSizeX
push 0x40e4a4
mov edi, eax
call ebx
push 0x40e4b4
push 0x1e0
push str.WindowSizeY
push str.Window_Settings
mov esi, eax
call ebx
jmp 0x4035cb
mov eax, 0x64
mov esi, eax
mov edi, eax
mov ebp, eax
mov ecx, dword [esp + 0x34]
push 0
push ecx
push 0
push 0
push eax
push esi
push edi
push ebp
push 0xcf0000
push str.SMP_IS_HPGL_Viewer_Rel._17
push 0x40e030
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ecx, dword [0x411260]
mov dword [0x411250], eax
test ecx, ecx
jne 0x40360e
push 1
push eax
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov eax, dword [0x411250]
test eax, eax
jne 0x40361a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov ecx, dword [0x411260]
test ecx, ecx
jne 0x403630
push eax
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [0x41124c], eax
mov eax, dword [0x411260]
mov edx, dword [esp + 0x34]
mov esi, dword [sym.imp.USER32.dll_CheckMenuItem]
mov dword [0x411268], edx
test eax, eax
jne 0x403684
push 0x40e4e0
push 1
push str.Save_Settings
push 0x40e500
call ebx
test eax, eax
mov dword [0x4114b0], eax
je 0x403674
mov eax, dword [0x41124c]
push 8
push 0x9c56
push eax
jmp 0x403682
mov ecx, dword [0x41124c]
push 0
push 0x9c56
push ecx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x40e508
lea edx, [esp + 0x14]
push 0xe
push edx
push 0x40e518
push str.Zoom_Level
push 0x40e528
call edi
lea eax, [esp + 0x10]
push eax
call fcn.00403f6d
fst qword [0x411530]
fcomp qword [0x40c230]
add esp, 4
fnstsw ax
test ah, 1
je 0x4036dd
mov dword [0x411530], 0x9999999a
mov dword [0x411534], 0x3fb99999
jmp 0x403704
fld qword [0x411530]
fcomp qword [0x40c238]
fnstsw ax
test ah, 0x41
jne 0x403704
mov dword [0x411530], 0
mov dword [0x411534], 0x40240000
push 0x40e530
lea ecx, [esp + 0x14]
push 0xe
push ecx
push 0x40e540
push str.Rotation
push 0x40e550
call edi
lea edx, [esp + 0x10]
push edx
call fcn.00403f6d
fstp qword [0x4114b8]
add esp, 4
push 0x40e558
push 0
push str.Text_Angle
push 0x40e574
call ebx
mov ecx, dword [0x411260]
mov dword [0x411538], eax
test ecx, ecx
jne 0x4037dc
test eax, eax
jne 0x403772
mov eax, dword [0x41124c]
push 8
push 0x9c4e
push eax
call esi
mov eax, dword [0x411538]
cmp eax, 0xfffffe3e
jne 0x40378e
mov ecx, dword [0x41124c]
push 8
push 0x9c44
push ecx
call esi
mov eax, dword [0x411538]
cmp eax, 0xfffffc7c
jne 0x4037aa
mov edx, dword [0x41124c]
push 8
push 0x9c46
push edx
call esi
mov eax, dword [0x411538]
cmp eax, 0xfffffaba
jne 0x4037c5
mov eax, dword [0x41124c]
push 8
push 0x9c47
push eax
call esi
mov eax, dword [0x411538]
cmp eax, 0xfffff8f8
jne 0x4037dc
mov ecx, dword [0x41124c]
push 8
push 0x9c48
push ecx
call esi
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
xor edi, edi
mov esi, 0x40e0ac
push edi
lea edx, [esp + 0x24]
push 0x40e57c
push edx
call ebp
add esp, 0xc
lea eax, [esp + 0x20]
push 0x40e58c
push 1
push eax
push 0x40e59c
call ebx
mov dword [esi], eax
add esi, 4
inc edi
cmp esi, str.__1.3lf
jl 0x4037e9
xor edi, edi
mov esi, 0x40e08c
push edi
lea ecx, [esp + 0x24]
push str.Pen_Number__i
push ecx
call ebp
add esp, 0xc
lea edx, [esp + 0x20]
push str.SMP_PLOT.INI
push 1
push edx
push 0x40e5c8
call ebx
mov dword [esi], eax
add esi, 4
inc edi
cmp esi, 0x40e0ac
jl 0x403821
mov eax, dword [0x411260]
test eax, eax
jne 0x40387a
mov eax, dword [esp + 0x38]
mov ecx, dword [0x411250]
push eax
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [0x411250]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x20
ret