; ---------------------------------------------------------------------------
; FILE: HELP1.Asm
; DATE: August 28, 2013
; ---------------------------------------------------------------------------

format  PE GUI 4.0
entry   start
stack   4000h, 4000h

    include 'Win32W.Inc'
    ; {INSMODDEF} Module Definitions inserted immediately before this line

; ---------------------------------------------------------------------------
struct  MEMORY_BASIC_INFORMATION
        BaseAddress          dd ?
        AllocationBase       dd ?
        AllocationProtect    dd ?
        RegionSize           dd ?
        State                dd ?
        Protect              dd ?
        Type                 dd ?
ends

; ---------------------------------------------------------------------------
section '.data' data readable writeable

mbi           MEMORY_BASIC_INFORMATION

dwPID         dd 2804    ; <-- PID from my IDE (I see it in Task Manager!)
hProc         dd 0
shagMemory    dd 0
hfile         dd 0
hMBIfile      dd 0
BytesRead     dd 0
temp          db 256 dup(0)
temps         db 256 dup(0)
bufer         dd 0
bufRoom       dd 100000h

SzFile        db 'D:\Temp\test.txt',0
mbiFile       db 'D:\Temp\MBI-DUMP.txt',0
mbText        db 'ExitProcess',0
mbTitle       db 'End',0
formats       db "%d",0
fmtDumpMBI    db 'State: %08X  Base: %08X  VirtAlloc: %08X  Region: %08X  ->  ',0
szNoCommit    db 'Not MEM_COMMIT.',0Dh,0Ah,0
szNoMem       db 'No Memory!',0Dh,0Ah,0
szReadOK      db 'Loaded OK.',0Dh,0Ah,0
szReadERR     db 'Load ERROR!',0Dh,0Ah,0

; ---------------------------------------------------------------------------
section '.code' code readable executable

    include 'SomeCode.Asm'
    ; {INSMODIMPL} Module Implementations inserted immediately before this line

; ---------------------------------------------------------------------------
; PROGRAM ENTRY POINT
; ---------------------------------------------------------------------------
align 32
start:
    call      SomeCode_Root
    invoke    ExitProcess, 0

; ---------------------------------------------------------------------------
section '.idata' import data readable writeable

    library kernel32,'KERNEL32.DLL',user32,'USER32.DLL',gdi32,'GDI32.DLL'

    include 'API\Kernel32.Inc'
    include 'API\User32.Inc'
    include 'API\Gdi32.Inc'



