Function at 0x4c4874
Capabilities:
Get common file path
Hide graphical window
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x13c
push ebx
push esi
push edi
mov dword [ebp - 0x120], 0
mov dword [ebp - 4], 0
push 1
push str.iMeasure
push 0x532040
call dword [sym.imp.KERNEL32.dll_GetProfileIntA]
mov dword [0x533678], eax
push 0
mov eax, dword [ebp + 8]
push eax
push 0
push 0
push 0x190
push 0x26c
push 0x80000000
push 0x80000000
push 0x2cf0000
push 0x52d870
push str.MSOChart32
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x533644], eax
cmp dword [0x533644], 0
jne 0x4c48f9
mov eax, 0x2712
jmp 0x4c4f7f
push 0x28
call dword [sym.imp.KERNEL32.dll_SetHandleCount]
mov dword [ebp - 0x12c], eax
mov eax, dword [0x533644]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x128], eax
push 0
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [0x531b14], eax
push 1
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [0x531b18], eax
push 3
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [0x531b1c], eax
push 4
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [0x531b20], eax
push 5
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [0x531b24], eax
push 6
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [0x531b28], eax
push 2
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [0x531b2c], eax
push 7
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [0x531b30], eax
push 8
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [0x531b34], eax
push 9
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [0x531b38], eax
mov eax, dword [0x533644]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x110], eax
push 0xc
mov eax, dword [ebp - 0x110]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
cmp eax, 1
jne 0x4c4a32
push 0xe
mov eax, dword [ebp - 0x110]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
cmp eax, 1
jne 0x4c4a32
mov dword [0x53339c], 1
jmp 0x4c4a3c
mov dword [0x53339c], 0
push 0xc
mov eax, dword [ebp - 0x110]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov ebx, eax
push 0xe
mov eax, dword [ebp - 0x110]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
imul ebx, eax
cmp ebx, 4
jne 0x4c4a77
mov dword [0x533684], 1
jmp 0x4c4a81
mov dword [0x533684], 0
mov eax, dword [ebp - 0x110]
push eax
mov eax, dword [0x533644]
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [0x531b34]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], 0x2cd
lea eax, [ebp - 0x134]
push eax
mov eax, dword [ebp + 8]
push eax
push 0x7d00
mov eax, dword [0x533644]
push eax
push 0x80000000
push 0x80000000
push 0x80000000
push 0x80000000
push 0x52000000
push 0
push str.MDICLIENT
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x533648], eax
cmp dword [0x533648], 0
jne 0x4c4b03
mov eax, 0x2712
jmp 0x4c4f7f
push 0
mov eax, dword [ebp + 8]
push eax
push 0
mov eax, dword [0x533644]
push eax
push 0
push 0
push 0
push 0
push 0x50800000
push 0
push str.OPWPaletteClass
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x531ab4], eax
cmp dword [0x531ab4], 0
jne 0x4c4b49
mov eax, 0x2712
jmp 0x4c4f7f
push 0
mov eax, dword [ebp + 8]
push eax
push 0
mov eax, dword [0x533644]
push eax
push 0
push 0
push 0
push 0
push 0x40800000
push 0
push str.OPWStatusClass
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x531ab8], eax
cmp dword [0x531ab8], 0
jne 0x4c4b8f
mov eax, 0x2712
jmp 0x4c4f7f
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [0x533644]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x533644]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x532080
push 0x105
lea eax, [ebp - 0x10c]
push eax
push 0x53208c
push str.Banner
push str.Startup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x4c4c19
movsx eax, byte [ebp - 0x10c]
mov dword [ebp - 0x138], eax
jmp 0x4c4c07
mov dword [ebp - 4], 1
jmp 0x4c4c19
cmp dword [ebp - 0x138], 0x30
je 0x4c4bf6
jmp 0x4c4c19
cmp dword [ebp + 0xc], 0
je 0x4c4c9d
cmp dword [ebp - 4], 0
jne 0x4c4c9d
mov dword [ebp - 0x114], sym.MSOCht32.EXE_AboutHandler
push 0
mov eax, dword [ebp - 0x114]
push eax
mov eax, dword [0x533644]
push eax
push str.ABOUT
mov eax, dword [0x533640]
push eax
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov dword [ebp - 0x118], eax
push 1
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x124], eax
push 0
mov eax, dword [ebp - 0x124]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 5
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov dword [ebp - 0x120], 0
push 2
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x533650], eax
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x533654], eax
mov eax, dword [0x533644]
push eax
call fcn.004dd550
add esp, 4
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4c4ce7
jmp 0x4c4f49
push str.OPWMenu
mov eax, dword [0x533640]
push eax
call dword [sym.imp.USER32.dll_LoadAcceleratorsA]
mov dword [0x531ac8], eax
mov eax, dword [0x531ac8]
push eax
call fcn.004e3c00
add esp, 4
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4c4d23
jmp 0x4c4f49
call fcn.004c4843
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4c4d40
jmp 0x4c4f49
call fcn.004c1620
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4c4d5d
jmp 0x4c4f49
call fcn.004c1e3d
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4c4d7a
jmp 0x4c4f49
call fcn.004c7493
call fcn.004c260b
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4c4d9c
jmp 0x4c4f49
call fcn.004c2919
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4c4db9
jmp 0x4c4f49
push 0x12
call fcn.00476141
add esp, 4
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4c4ddb
jmp 0x4c4f49
mov dword [0x531e84], 1
mov eax, dword [0x533640]
push eax
call fcn.004f2b9d
add esp, 4
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4c4e0b
jmp 0x4c4f49
call fcn.004c3c7a
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4c4e28
jmp 0x4c4f49
call fcn.004c3eca
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4c4e45
jmp 0x4c4f49
push 1
push 0
call fcn.004a1e47
add esp, 8
call fcn.004c4814
call fcn.004c46a8
call fcn.004465a9
mov dword [0x531e7c], 1
push 0x52d8f0
push 0x105
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 0x5320b0
push 0x52d8f0
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
call fcn.004b4f96
add esp, 4
test byte [0x52d006], 8
je 0x4c4ea6
call fcn.004cae58
call fcn.0052033b
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4c4ec3
jmp 0x4c4f49
mov dword [0x531e90], 1
push 0x5320b4
push 0x105
lea eax, [ebp - 0x10c]
push eax
push 0x5320c0
push str.RTFPaste
push str.PARAMS
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x4c4f3e
movsx eax, byte [ebp - 0x10c]
mov dword [ebp - 0x13c], eax
jmp 0x4c4f2c
mov dword [0x531b4c], 1
jmp 0x4c4f3e
cmp dword [ebp - 0x13c], 0x31
je 0x4c4f18
jmp 0x4c4f3e
call fcn.005073c0
mov dword [ebp - 0x120], eax
cmp dword [ebp + 0xc], 0
je 0x4c4f6a
cmp dword [ebp - 4], 0
jne 0x4c4f6a
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0x533660], 0
mov eax, dword [ebp - 0x120]
jmp 0x4c4f7f
pop edi
pop esi
pop ebx
leave
ret