assembly: list files jbwyatt.com

.. List File

To view a list file:

 In Emu8086, open a file and start the emulator.
       Under "aux" (bottom), choose "listing"

EMU8086 GENERATED LISTING. MACHINE CODE <- SOURCE.
===============================================================================
[LINE]     LOC: MACHINE CODE           SOURCE
===============================================================================
[   1]        :              name "flags"
[   2]        :                                       
[   3]        :              org 100h
[   4]        :                                       
[   5]        :              ; this sample shows how cmp instruction sets the flags.
[   6]        :                                      
[   7]        :              ; usually cmp instruction is followed by any relative
[   8]        :              ; jump instruction such as: je, ja, jl, jae...
[   9]        :                                      
[  10]        :              ; it is recommended to click "flags" and "analyze"
[  11]        :              ; for better experience before stepping through code.
[  12]        :                                       
[  13]        :              ; (signed/unsigned)
[  14]        :              ; 4 is equal to 4
[  15]    0100: B4 04        mov ah, 4
[  16]    0102: B0 04        mov al, 4
[  17]    0104: 3A E0        cmp ah, al
[  18]    0106: 90           nop
[  19]        :                                       
[  20]        :              ; (signed/unsigned)
[  21]        :              ; 4 is above and greater then 3
[  22]    0107: B4 04        mov ah, 4
[  23]    0109: B0 03        mov al, 3
[  24]    010B: 3A E0        cmp ah, al
[  25]    010D: 90           nop
[  26]        :                                       
[  27]        :              ; -5 = 251 = 0fbh
[  28]        :                                       
[  29]        :              ;(signed)
[  30]        :              ; 1 is greater then -5
[  31]    010E: B4 01        mov ah, 1
[  32]    0110: B0 FB        mov al, -5
[  33]    0112: 3A E0        cmp ah, al
[  34]    0114: 90           nop
[  35]        :                                       
[  36]        :              ; (unsigned)
[  37]        :              ; 1 is below 251
[  38]    0115: B4 01        mov ah, 1
[  39]    0117: B0 FB        mov al, 251
[  40]    0119: 3A E0        cmp ah, al
[  41]    011B: 90           nop
[  42]        :                                       
[  43]        :              ; (signed)
[  44]        :              ; -3 is less then -2
[  45]    011C: B4 FD        mov ah, -3
[  46]    011E: B0 FE        mov al, -2
[  47]    0120: 3A E0        cmp ah, al
[  48]    0122: 90           nop
[  49]        :                                       
[  50]        :              ; (signed)
[  51]        :              ; -2 is greater then -3
[  52]    0123: B4 FE        mov ah, -2
[  53]    0125: B0 FD        mov al, -3
[  54]    0127: 3A E0        cmp ah, al
[  55]    0129: 90           nop
[  56]        :                                       
[  57]        :              ; (unsigned)
[  58]        :              ; 255 is above 1
[  59]    012A: B4 FF        mov ah, 255
[  60]    012C: B0 01        mov al, 1
[  61]    012E: 3A E0        cmp ah, al
[  62]    0130: 90           nop
[  63]        :                                       
[  64]        :              ; now a little game:
[  65]    0131: BA 5E 01     game:  mov dx, offset msg1
[  66]    0134: B4 09        mov ah, 9
[  67]    0136: CD 21        int 21h
[  68]        :                                       
[  69]        :              ; read character in al:
[  70]    0138: B4 01        mov ah, 1
[  71]    013A: CD 21        int 21h
[  72]        :                                       
[  73]    013C: 3C 30        cmp al, '0'
[  74]    013E: 72 1D        jb stop
[  75]        :                                       
[  76]    0140: 3C 39        cmp al, '9'
[  77]    0142: 77 19        ja stop
[  78]        :                                       
[  79]    0144: 3C 35        cmp al, '5'
[  80]    0146: 72 07        jb below
[  81]    0148: 77 0A        ja above
[  82]    014A: BA 8F 01     mov dx, offset equal_5
[  83]    014D: EB 08        jmp print
[  84]    014F: BA A3 01     below: mov dx, offset below_5
[  85]    0152: EB 03        jmp print
[  86]    0154: BA B5 01     above: mov dx, offset above_5
[  87]    0157: B4 09        print: mov ah, 9
[  88]    0159: CD 21        int 21h
[  89]    015B: EB D4        jmp game  ; loop.
[  90]        :                                       
[  91]        :                                       
[  92]    015D: C3           stop: ret  ; stop
[  93]        :                                       
[  94]        :                                       
[  95] 015E: 65 6E 74 65 72 20 61 20 6E 75 6D 62   msg1 db "enter a number or any other character to exit:  $"
             65 72 20 6F 72 20 61 6E 79 20 6F 74 
             68 65 72 20 63 68 61 72 61 63 74 65 
             72 20 74 6F 20 65 78 69 74 3A 20 20 
             24                                  
[  96] 018F: 20 69 73 20 66 69 76 65 21 20 28 65   equal_5 db " is five! (equal)", 0Dh,0Ah, "$"
             71 75 61 6C 29 0D 0A 24             
[  97] 01A3: 20 69 73 20 62 65 6C 6F 77 20 66 69   below_5 db " is below five!" , 0Dh,0Ah, "$"
             76 65 21 0D 0A 24                   
[  98] 01B5: 20 69 73 20 61 62 6F 76 65 20 66 69   above_5 db " is above five!" , 0Dh,0Ah, "$"
             76 65 21 0D 0A 24                                      
        

Another example from a different assembler: 00000000 .data 00000000 00010000 val1 dword 10000h 00000004 00040000 val2 dword 40000h 00000008 00020000 val3 dword 20000h 0000000C 00000000 finalVal dword ? 00000000 .code 00000000 main PROC 00000000 A1 00000000 R mov eax,val1 ; start with 10000h 00000005 03 05 00000004 R add eax,val2 ; add 40000h 0000000B 2B 05 00000008 R sub eax,val3 ; subtract 20000h 00000011 A3 0000000C R mov finalVal,eax ; store result (30000h) 00000016 E8 00000000 E call DumpRegs ; display the registers exit 00000022 main ENDP END main ===================================================================== Actual object code from above code 00 01 00 00 <- data 00 04 00 00 00 02 00 00 00 00 00 00 A1 00 00 00 00 <- A1 = mov eax, address relative to data ssegment 03 05 00 00 00 04 <- 0305 = add eax, address relative to data ssegment 2B 05 00 00 00 08 <- 2B05 = sub eax, address relative to data ssegment A3 00 00 00 0C <- A3 = mov from eax to address E8 00 00 00 00 <- E8 = call to a function , address provided by? ========================================================================== addsub.obj -- partial object file created by the assembler 00000000 4C 01 06 00 8B F4 7D 3D-D0 0B 00 00 1C 00 00 00 L.....}=........ 00000010 00 00 00 00 2E 74 65 78-74 00 00 00 00 00 00 00 .....text....... 00000020 00 00 00 00 22 00 00 00-04 01 00 00 26 01 00 00 ....".......&... 00000030 62 01 00 00 06 00 07 00-20 00 30 60 2E 64 61 74 b....... .0`.dat 00000040 61 00 00 00 22 00 00 00-00 00 00 00 10 00 00 00 a..."........... 00000050 8C 01 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 00000060 40 00 30 C0 53 54 41 43-4B 00 00 00 32 00 00 00 @.0.STACK...2... 00000070 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 00000080 00 00 00 00 00 00 00 00-40 00 30 C0 2E 64 65 62 ........@.0..deb 00000090 75 67 24 53 32 00 00 00-00 00 00 00 51 01 00 00 ug$S2.......Q... 000000A0 9C 01 00 00 EE 02 00 00-00 00 00 00 0A 00 00 00 ................ 000000B0 40 00 10 42 2E 64 65 62-75 67 24 54 83 01 00 00 @..B.debug$T.... 000000C0 00 00 00 00 70 08 00 00-52 03 00 00 00 00 00 00 ....p...R....... 000000D0 00 00 00 00 00 00 00 00-40 00 10 42 2E 64 72 65 ........@..B.dre 000000E0 63 74 76 65 F3 09 00 00-00 00 00 00 0E 00 00 00 ctve............ 000000F0 C2 0B 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 00000100 00 0A 00 00 A1 00 00 00-00 03 05 00 00 00 00 2B ...............+ 00000110 05 00 00 00 00 A3 00 00-00 00 E8 00 00 00 00 6A ...............j 00000120 00 E8 00 00 00 00 01 00-00 00 0F 00 00 00 06 00 ................ 00000130 07 00 00 00 10 00 00 00-06 00 0D 00 00 00 12 00 ................ … 00000E40 43 4C 55 44 45 5C 49 72-76 69 6E 65 33 32 2E 69 CLUDE\Irvine32.i 00000E50 6E 63 47 80 0D 00 0B 41-64 64 53 75 62 32 2E 61 ncG€...AddSub2.a 00000E60 73 6D 94 sm. data elsewhere in object file ================================================ and the exe?? where does that come from??

.. List File Example


Microsoft (R) Macro Assembler Version 8.00.50727.42       11/29/07 23:07:53
.Encryption Program               (Encrypt.asm          Page 1 - 1
TITLE Encryption Program               (Encrypt.asm)
; This program demonstrates simple symmetric
; encryption using the XOR instruction.
; Chapter 6 example.
; Last update: 06/01/2006

INCLUDE Irvine32.inc
   C ; Include file for Irvine32.lib             (Irvine32.inc)
   C 
   C ;OPTION CASEMAP:NONE ; optional: make identifiers case-sensitive
   C 
   C INCLUDE SmallWin.inc ; MS-Windows prototypes, structures, constants
   C .NOLIST
   C .LIST
   C 
   C INCLUDE VirtualKeys.inc
   C ; VirtualKeys.inc
   C .NOLIST
   C .LIST
   C 
   C 
   C .NOLIST
   C .LIST
   C 
 = 000000EF       KEY = 239         ; any value between 1-255
 = 00000080       BUFMAX = 128      ; maximum buffer size

 00000000         .data
 00000000 45 6E 74 65 72   sPrompt  BYTE  "Enter the plain text: ",0
      20 74 68 65 20
      70 6C 61 69 6E
      20 74 65 78 74
      3A 20 00
 00000017 43 69 70 68 65   sEncrypt BYTE  "Cipher text:          ",0
      72 20 74 65 78
      74 3A 20 20 20
      20 20 20 20 20
      20 20 00
 0000002E 44 65 63 72 79   sDecrypt BYTE  "Decrypted:            ",0
      70 74 65 64 3A
      20 20 20 20 20
      20 20 20 20 20
      20 20 00
 00000045  00000081 [      buffer   BYTE   BUFMAX+1 DUP(0)
       00
      ]
 000000C6 00000000      bufSize  DWORD  ?

 00000000         .code
 00000000         main PROC
 00000000  E8 00000025     call  InputTheString    ; input the plain text
 00000005  E8 00000062     call  TranslateBuffer   ; encrypt the buffer
 0000000A  BA 00000017 R   mov   edx,OFFSET sEncrypt ; display encrypted msg
 0000000F  E8 0000003C     call  DisplayMessage
 00000014  E8 00000053     call  TranslateBuffer   ; decrypt the buffer
 00000019  BA 0000002E R   mov   edx,OFFSET sDecrypt ; display decrypted msg
 0000001E  E8 0000002D     call  DisplayMessage
               exit
 0000002A         main ENDP

            ;-----------------------------------------------------
 0000002A         InputTheString PROC
            ;
            ; Prompts user for a plaintext string. Saves the string 
            ; and its length.
            ; Receives: nothing
            ; Returns: nothing
            ;-----------------------------------------------------
 0000002A  60                 pushad
 0000002B  BA 00000000 R      mov   edx,OFFSET sPrompt ; display a prompt
 00000030  E8 00000000 E      call  WriteString
 00000035  B9 00000080        mov   ecx,BUFMAX         ; max character count
 0000003A  BA 00000045 R      mov   edx,OFFSET buffer  ; point to the buffer
 0000003F  E8 00000000 E      call  ReadString         ; input the string
 00000044  A3 000000C6 R      mov   bufSize,eax        ; save the length
 00000049  E8 00000000 E      call  Crlf
 0000004E  61                 popad
 0000004F  C3                 ret
 00000050         InputTheString ENDP

            ;-----------------------------------------------------
 00000050         DisplayMessage PROC
            ;
            ; Displays the encrypted or decrypted message.
            ; Receives: EDX points to the message
            ; Returns:  nothing
            ;-----------------------------------------------------
 00000050  60                 pushad
 00000051  E8 00000000 E      call  WriteString
 00000056  BA 00000045 R      mov   edx,OFFSET buffer ; display the buffer
 0000005B  E8 00000000 E      call  WriteString
 00000060  E8 00000000 E      call  Crlf
 00000065  E8 00000000 E      call  Crlf
 0000006A  61                 popad
 0000006B  C3                 ret
 0000006C         DisplayMessage ENDP

            ;-----------------------------------------------------
 0000006C         TranslateBuffer PROC
            ;
            ; Translates the string by exclusive-ORing each
            ; byte with the encryption key byte.
            ; Receives: nothing
            ; Returns: nothing
            ;-----------------------------------------------------
 0000006C  60                 pushad
 0000006D  8B 0D 000000C6 R   mov   ecx,bufSize     ; loop counter
 00000073  BE 00000000        mov   esi,0           ; index 0 in buffer
 00000078                 L1:
 00000078  80 B6 00000045 R   xor   buffer[esi],KEY ; translate a byte
           EF
 0000007F  46                 inc   esi             ; point to next byte
 00000080  E2 F6              loop  L1
 00000082  61                 popad
 00000083  C3                 ret
 00000084         TranslateBuffer ENDP
            END main
Microsoft (R) Macro Assembler Version 8.00.50727.42    11/29/07 23:07:53
.Encryption Program               (Encrypt.asm          Symbols 2 - 1

Structures and Unions:
                N a m e                  Size
                                         Offset      Type
CONSOLE_CURSOR_INFO  . . . . . .  00000008
  dwSize . . . . . . . . . . . .  00000000    DWord
  bVisible . . . . . . . . . . .  00000004    DWord
CONSOLE_SCREEN_BUFFER_INFO . . .  00000016
  dwSize . . . . . . . . . . . .  00000000    DWord
  dwCursorPosition . . . . . . .  00000004    DWord
  wAttributes  . . . . . . . . .  00000008    Word
  srWindow . . . . . . . . . . .  0000000A    QWord
  dwMaximumWindowSize  . . . . .  00000012    DWord
COORD  . . . . . . . . . . . . .  00000004
  X  . . . . . . . . . . . . . .  00000000    Word
  Y  . . . . . . . . . . . . . .  00000002    Word
FILETIME . . . . . . . . . . . .  00000008
  loDateTime . . . . . . . . . .  00000000    DWord
  hiDateTime . . . . . . . . . .  00000004    DWord
FOCUS_EVENT_RECORD . . . . . . .  00000004
  bSetFocus  . . . . . . . . . .  00000000    DWord
FPU_ENVIRON  . . . . . . . . . .  0000001C
  controlWord  . . . . . . . . .  00000000    Word
  statusWord . . . . . . . . . .  00000004    Word
  tagWord  . . . . . . . . . . .  00000008    Word
  instrPointerOffset . . . . . .  0000000C    DWord
  instrPointerSelector . . . . .  00000010    DWord
  operandPointerOffset . . . . .  00000014    DWord
  operandPointerSelector . . . .  00000018    Word
INPUT_RECORD . . . . . . . . . .  00000014
  EventType  . . . . . . . . . .  00000000    Word
  Event  . . . . . . . . . . . .  00000004     00000010
  bKeyDown . . . . . . . . . . .  00000000    DWord
  wRepeatCount . . . . . . . . .  00000004    Word
  wVirtualKeyCode  . . . . . . .  00000006    Word
  wVirtualScanCode . . . . . . .  00000008    Word
  uChar  . . . . . . . . . . . .  0000000A    Word
  UnicodeChar  . . . . . . . . .  00000000    Word
  AsciiChar  . . . . . . . . . .  00000000    Byte
  dwControlKeyState  . . . . . .  0000000C    DWord
  dwMousePosition  . . . . . . .  00000000    DWord
  dwButtonState  . . . . . . . .  00000004    DWord
  dwMouseControlKeyState . . . .  00000008    DWord
  dwEventFlags . . . . . . . . .  0000000C    DWord
  dwSize . . . . . . . . . . . .  00000000    DWord
  dwCommandId  . . . . . . . . .  00000000    DWord
  bSetFocus  . . . . . . . . . .  00000000    DWord
KEY_EVENT_RECORD . . . . . . . .  00000010
  bKeyDown . . . . . . . . . . .  00000000    DWord
  wRepeatCount . . . . . . . . .  00000004    Word
  wVirtualKeyCode  . . . . . . .  00000006    Word
  wVirtualScanCode . . . . . . .  00000008    Word
  uChar  . . . . . . . . . . . .  0000000A    Word
  UnicodeChar  . . . . . . . . .  00000000    Word
  AsciiChar  . . . . . . . . . .  00000000    Byte
  dwControlKeyState  . . . . . .  0000000C    DWord
MENU_EVENT_RECORD  . . . . . . .  00000004
  dwCommandId  . . . . . . . . .  00000000    DWord
MOUSE_EVENT_RECORD . . . . . . .  00000010
  dwMousePosition  . . . . . . .  00000000    DWord
  dwButtonState  . . . . . . . .  00000004    DWord
  dwMouseControlKeyState . . . .  00000008    DWord
  dwEventFlags . . . . . . . . .  0000000C    DWord
SMALL_RECT . . . . . . . . . . .  00000008
  Left . . . . . . . . . . . . .  00000000    Word
  Top  . . . . . . . . . . . . .  00000002    Word
  Right  . . . . . . . . . . . .  00000004    Word
  Bottom . . . . . . . . . . . .  00000006    Word
SYSTEMTIME . . . . . . . . . . .  00000010
  wYear  . . . . . . . . . . . .  00000000    Word
  wMonth . . . . . . . . . . . .  00000002    Word
  wDayOfWeek . . . . . . . . . .  00000004    Word
  wDay . . . . . . . . . . . . .  00000006    Word
  wHour  . . . . . . . . . . . .  00000008    Word
  wMinute  . . . . . . . . . . .  0000000A    Word
  wSecond  . . . . . . . . . . .  0000000C    Word
  wMilliseconds  . . . . . . . .  0000000E    Word
WINDOW_BUFFER_SIZE_RECORD  . . .  00000004
  dwSize . . . . . . . . . . . .  00000000    DWord

Segments and Groups:
                N a m e                 Size     Length   Align   Combine Class

FLAT . . . . . . . . . . . . . . GROUP
STACK  . . . . . . . . . . . . . 32 Bit    00001000 Para   Stack    'STACK'    
_DATA  . . . . . . . . . . . . . 32 Bit    000000CA Para   Public  'DATA'  
_TEXT  . . . . . . . . . . . . . 32 Bit    00000084 Para   Public  'CODE'  


Procedures, parameters, and locals:

                N a m e                 Type     Value    Attr

CloseFile  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
CloseHandle  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
Clrscr . . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
CreateFileA  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
CreateOutputFile . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
Crlf . . . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
Delay  . . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
DisplayMessage . . . . . . . . . P Near    00000050 _TEXT   Length= 0000001C Public STDCALL
DumpMem  . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
DumpRegs . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ExitProcess  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
FileTimeToDosDateTime  . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
FileTimeToSystemTime . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
FlushConsoleInputBuffer  . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
FormatMessageA . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetCommandLineA  . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetCommandTail . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetConsoleCP . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetConsoleCursorInfo . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetConsoleMode . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetConsoleScreenBufferInfo . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetDateTime  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetFileTime  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetKeyState  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetLastError . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetLocalTime . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetMaxXY . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetMseconds  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetNumberOfConsoleInputEvents  . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetProcessHeap . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetStdHandle . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetSystemTime  . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetTextColor . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
GetTickCount . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
Gotoxy . . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
HeapAlloc  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
HeapCreate . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
HeapDestroy  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
HeapFree . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
HeapSize . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
InputTheString . . . . . . . . . P Near    0000002A _TEXT   Length= 00000026 Public STDCALL
IsDigit  . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
LocalFree  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
MessageBoxA  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
MsgBoxAsk  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
MsgBox . . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
OpenInputFile  . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ParseDecimal32 . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ParseInteger32 . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
PeekConsoleInputA  . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
Random32 . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
RandomRange  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
Randomize  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ReadChar . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ReadConsoleA . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ReadConsoleInputA  . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ReadDec  . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ReadFile . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ReadFloat  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ReadFromFile . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ReadHex  . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ReadInt  . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ReadKeyFlush . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ReadKey  . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ReadString . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
SetConsoleCursorInfo . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
SetConsoleCursorPosition . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
SetConsoleMode . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
SetConsoleScreenBufferSize . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
SetConsoleTextAttribute  . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
SetConsoleTitleA . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
SetConsoleWindowInfo . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
SetFilePointer . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
SetLocalTime . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
SetTextColor . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
ShowFPUStack . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
Sleep  . . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
StrLength  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
Str_compare  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
Str_copy . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
Str_length . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
Str_trim . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
Str_ucase  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
SystemTimeToFileTime . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
TranslateBuffer  . . . . . . . . P Near    0000006C _TEXT   Length= 00000018 Public STDCALL
  L1 . . . . . . . . . . . . . . L Near    00000078 _TEXT   
WaitMsg  . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteBinB  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteBin . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteChar  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteConsoleA  . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteConsoleOutputAttribute  . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteConsoleOutputCharacterA . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteDec . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteFile  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteFloat . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteHexB  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteHex . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteInt . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteStackFrameName  . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteStackFrame  . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteString  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteToFile  . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
WriteWindowsMsg  . . . . . . . . P Near    00000000 FLAT Length= 00000000 External STDCALL
main . . . . . . . . . . . . . . P Near    00000000 _TEXT   Length= 0000002A Public STDCALL
printf . . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External C
scanf  . . . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External C
wsprintfA  . . . . . . . . . . . P Near    00000000 FLAT Length= 00000000 External C


Symbols:

                N a m e                 Type     Value    Attr

@CodeSize  . . . . . . . . . . . Number    00000000h   
@DataSize  . . . . . . . . . . . Number    00000000h   
@Interface . . . . . . . . . . . Number    00000003h   
@Model . . . . . . . . . . . . . Number    00000007h   
@code  . . . . . . . . . . . . . Text      _TEXT
@data  . . . . . . . . . . . . . Text      FLAT
@fardata?  . . . . . . . . . . . Text      FLAT
@fardata . . . . . . . . . . . . Text      FLAT
@stack . . . . . . . . . . . . . Text      FLAT
ALT_MASK . . . . . . . . . . . . Number    00000003h   
BUFMAX . . . . . . . . . . . . . Number    00000080h   
CAPSLOCK_ON  . . . . . . . . . . Number    00000080h   
CREATE_ALWAYS  . . . . . . . . . Number    00000002h   
CREATE_NEW . . . . . . . . . . . Number    00000001h   
CTRL_MASK  . . . . . . . . . . . Number    0000000Ch   
CreateFile . . . . . . . . . . . Text      CreateFileA
DO_NOT_SHARE . . . . . . . . . . Number    00000000h   
ENABLE_ECHO_INPUT  . . . . . . . Number    00000004h   
ENABLE_LINE_INPUT  . . . . . . . Number    00000002h   
ENABLE_MOUSE_INPUT . . . . . . . Number    00000010h   
ENABLE_PROCESSED_INPUT . . . . . Number    00000001h   
ENABLE_PROCESSED_OUTPUT  . . . . Number    00000001h   
ENABLE_WINDOW_INPUT  . . . . . . Number    00000008h   
ENABLE_WRAP_AT_EOL_OUTPUT  . . . Number    00000002h   
ENHANCED_KEY . . . . . . . . . . Number    00000100h   
FALSE  . . . . . . . . . . . . . Number    00000000h   
FILE_APPEND_DATA . . . . . . . . Number    00000004h   
FILE_ATTRIBUTE_ARCHIVE . . . . . Number    00000020h   
FILE_ATTRIBUTE_COMPRESSED  . . . Number    00000800h   
FILE_ATTRIBUTE_DEVICE  . . . . . Number    00000040h   
FILE_ATTRIBUTE_DIRECTORY . . . . Number    00000010h   
FILE_ATTRIBUTE_ENCRYPTED . . . . Number    00004000h   
FILE_ATTRIBUTE_HIDDEN  . . . . . Number    00000002h   
FILE_ATTRIBUTE_NORMAL  . . . . . Number    00000080h   
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED .   Number    00002000h   
FILE_ATTRIBUTE_OFFLINE . . . . . Number    00001000h   
FILE_ATTRIBUTE_READONLY  . . . . Number    00000001h   
FILE_ATTRIBUTE_REPARSE_POINT . . Number    00000400h   
FILE_ATTRIBUTE_SPARSE_FILE . . . Number    00000200h   
FILE_ATTRIBUTE_SYSTEM  . . . . . Number    00000004h   
FILE_ATTRIBUTE_TEMPORARY . . . . Number    00000100h   
FILE_BEGIN . . . . . . . . . . . Number    00000000h   
FILE_CURRENT . . . . . . . . . . Number    00000001h   
FILE_DELETE_CHILD  . . . . . . . Number    00000040h   
FILE_END . . . . . . . . . . . . Number    00000002h   
FILE_READ_DATA . . . . . . . . . Number    00000001h   
FILE_SHARE_DELETE  . . . . . . . Number    00000004h   
FILE_SHARE_READ  . . . . . . . . Number    00000001h   
FILE_SHARE_WRITE . . . . . . . . Number    00000002h   
FILE_WRITE_DATA  . . . . . . . . Number    00000002h   
FOCUS_EVENT  . . . . . . . . . . Number    00000010h   
FORMAT_MESSAGE_ALLOCATE_BUFFER . Number    00000100h   
FORMAT_MESSAGE_FROM_SYSTEM . . . Number    00001000h   
FormatMessage  . . . . . . . . . Text      FormatMessageA
GENERIC_ALL  . . . . . . . . . . Number    10000000h   
GENERIC_EXECUTE  . . . . . . . . Number    20000000h   
GENERIC_READ . . . . . . . . . . Number    -80000000h   
GENERIC_WRITE  . . . . . . . . . Number    40000000h   
GetCommandLine . . . . . . . . . Text      GetCommandLineA
HANDLE . . . . . . . . . . . . . Text      DWORD
HEAP_GENERATE_EXCEPTIONS . . . . Number    00000004h   
HEAP_GROWABLE  . . . . . . . . . Number    00000002h   
HEAP_NO_SERIALIZE  . . . . . . . Number    00000001h   
HEAP_REALLOC_IN_PLACE_ONLY . . . Number    00000010h   
HEAP_ZERO_MEMORY . . . . . . . . Number    00000008h   
IDABORT  . . . . . . . . . . . . Number    00000003h   
IDCANCEL . . . . . . . . . . . . Number    00000002h   
IDCLOSE  . . . . . . . . . . . . Number    00000008h   
IDCONTINUE . . . . . . . . . . . Number    0000000Bh   
IDHELP . . . . . . . . . . . . . Number    00000009h   
IDIGNORE . . . . . . . . . . . . Number    00000005h   
IDNO . . . . . . . . . . . . . . Number    00000007h   
IDOK . . . . . . . . . . . . . . Number    00000001h   
IDRETRY  . . . . . . . . . . . . Number    00000004h   
IDTIMEOUT  . . . . . . . . . . . Number    00007D00h   
IDTRYAGAIN . . . . . . . . . . . Number    0000000Ah   
IDYES  . . . . . . . . . . . . . Number    00000006h   
INVALID_HANDLE_VALUE . . . . . . Number    -00000001h   
KBDOWN_FLAG  . . . . . . . . . . Number    00000001h   
KEY_EVENT  . . . . . . . . . . . Number    00000001h   
KEY_MASKS  . . . . . . . . . . . Number    0000001Fh   
KEY  . . . . . . . . . . . . . . Number    000000EFh   
LEFT_ALT_PRESSED . . . . . . . . Number    00000002h   
LEFT_CTRL_PRESSED  . . . . . . . Number    00000008h   
MB_ABORTRETRYIGNORE  . . . . . . Number    00000002h   
MB_APPLMODAL . . . . . . . . . . Number    00000000h   
MB_CANCELTRYCONTINUE . . . . . . Number    00000006h   
MB_DEFBUTTON1  . . . . . . . . . Number    00000000h   
MB_DEFBUTTON2  . . . . . . . . . Number    00000100h   
MB_DEFBUTTON3  . . . . . . . . . Number    00000200h   
MB_DEFBUTTON4  . . . . . . . . . Number    00000300h   
MB_HELP  . . . . . . . . . . . . Number    00004000h   
MB_ICONASTERISK  . . . . . . . . Number    00000040h   
MB_ICONERROR . . . . . . . . . . Number    00000010h   
MB_ICONEXCLAMATION . . . . . . . Number    00000030h   
MB_ICONHAND  . . . . . . . . . . Number    00000010h   
MB_ICONINFORMATION . . . . . . . Number    00000040h   
MB_ICONQUESTION  . . . . . . . . Number    00000020h   
MB_ICONSTOP  . . . . . . . . . . Number    00000010h   
MB_ICONWARNING . . . . . . . . . Number    00000030h   
MB_OKCANCEL  . . . . . . . . . . Number    00000001h   
MB_OK  . . . . . . . . . . . . . Number    00000000h   
MB_RETRYCANCEL . . . . . . . . . Number    00000005h   
MB_SYSTEMMODAL . . . . . . . . . Number    00001000h   
MB_TASKMODAL . . . . . . . . . . Number    00002000h   
MB_USERICON  . . . . . . . . . . Number    00000080h   
MB_YESNOCANCEL . . . . . . . . . Number    00000003h   
MB_YESNO . . . . . . . . . . . . Number    00000004h   
MENU_EVENT . . . . . . . . . . . Number    00000008h   
MOUSE_EVENT  . . . . . . . . . . Number    00000002h   
MessageBox . . . . . . . . . . . Text      MessageBoxA
NULL . . . . . . . . . . . . . . Number    00000000h   
NUMLOCK_ON . . . . . . . . . . . Number    00000020h   
OPEN_ALWAYS  . . . . . . . . . . Number    00000004h   
OPEN_EXISTING  . . . . . . . . . Number    00000003h   
PeekConsoleInput . . . . . . . . Text      PeekConsoleInputA
RIGHT_ALT_PRESSED  . . . . . . . Number    00000001h   
RIGHT_CTRL_PRESSED . . . . . . . Number    00000004h   
ReadConsoleInput . . . . . . . . Text      ReadConsoleInputA
ReadConsole  . . . . . . . . . . Text      ReadConsoleA
SCROLLLOCK_ON  . . . . . . . . . Number    00000040h   
SHIFT_MASK . . . . . . . . . . . Number    00000010h   
SHIFT_PRESSED  . . . . . . . . . Number    00000010h   
STD_ERROR_HANDLE . . . . . . . . Number    -0000000Ch   
STD_INPUT_HANDLE . . . . . . . . Number    -0000000Ah   
STD_OUTPUT_HANDLE  . . . . . . . Number    -0000000Bh   
SetConsoleTitle  . . . . . . . . Text      SetConsoleTitleA
TAB  . . . . . . . . . . . . . . Number    00000009h   
TRUE . . . . . . . . . . . . . . Number    00000001h   
TRUNCATE_EXISTING  . . . . . . . Number    00000005h   
VK_11  . . . . . . . . . . . . . Number    000000BDh   
VK_12  . . . . . . . . . . . . . Number    000000BBh   
VK_ADD . . . . . . . . . . . . . Number    0000006Bh   
VK_BACK  . . . . . . . . . . . . Number    00000008h   
VK_CANCEL  . . . . . . . . . . . Number    00000003h   
VK_CAPITAL . . . . . . . . . . . Number    00000014h   
VK_CLEAR . . . . . . . . . . . . Number    0000000Ch   
VK_CONTROL . . . . . . . . . . . Number    00000011h   
VK_DECIMAL . . . . . . . . . . . Number    0000006Eh   
VK_DELETE  . . . . . . . . . . . Number    0000002Eh   
VK_DIVIDE  . . . . . . . . . . . Number    0000006Fh   
VK_DOWN  . . . . . . . . . . . . Number    00000028h   
VK_END . . . . . . . . . . . . . Number    00000023h   
VK_ESCAPE  . . . . . . . . . . . Number    0000001Bh   
VK_EXECUTE . . . . . . . . . . . Number    0000002Bh   
VK_F10 . . . . . . . . . . . . . Number    00000079h   
VK_F11 . . . . . . . . . . . . . Number    0000007Ah   
VK_F12 . . . . . . . . . . . . . Number    0000007Bh   
VK_F13 . . . . . . . . . . . . . Number    0000007Ch   
VK_F14 . . . . . . . . . . . . . Number    0000007Dh   
VK_F15 . . . . . . . . . . . . . Number    0000007Eh   
VK_F16 . . . . . . . . . . . . . Number    0000007Fh   
VK_F17 . . . . . . . . . . . . . Number    00000080h   
VK_F18 . . . . . . . . . . . . . Number    00000081h   
VK_F19 . . . . . . . . . . . . . Number    00000082h   
VK_F1  . . . . . . . . . . . . . Number    00000070h   
VK_F20 . . . . . . . . . . . . . Number    00000083h   
VK_F21 . . . . . . . . . . . . . Number    00000084h   
VK_F22 . . . . . . . . . . . . . Number    00000085h   
VK_F23 . . . . . . . . . . . . . Number    00000086h   
VK_F24 . . . . . . . . . . . . . Number    00000087h   
VK_F2  . . . . . . . . . . . . . Number    00000071h   
VK_F3  . . . . . . . . . . . . . Number    00000072h   
VK_F4  . . . . . . . . . . . . . Number    00000073h   
VK_F5  . . . . . . . . . . . . . Number    00000074h   
VK_F6  . . . . . . . . . . . . . Number    00000075h   
VK_F7  . . . . . . . . . . . . . Number    00000076h   
VK_F8  . . . . . . . . . . . . . Number    00000077h   
VK_F9  . . . . . . . . . . . . . Number    00000078h   
VK_HELP  . . . . . . . . . . . . Number    0000002Fh   
VK_HOME  . . . . . . . . . . . . Number    00000024h   
VK_INSERT  . . . . . . . . . . . Number    0000002Dh   
VK_LBUTTON . . . . . . . . . . . Number    00000001h   
VK_LCONTROL  . . . . . . . . . . Number    000000A2h   
VK_LEFT  . . . . . . . . . . . . Number    00000025h   
VK_LMENU . . . . . . . . . . . . Number    000000A4h   
VK_LSHIFT  . . . . . . . . . . . Number    000000A0h   
VK_MENU  . . . . . . . . . . . . Number    00000012h   
VK_MULTIPLY  . . . . . . . . . . Number    0000006Ah   
VK_NEXT  . . . . . . . . . . . . Number    00000022h   
VK_NUMLOCK . . . . . . . . . . . Number    00000090h   
VK_NUMPAD0 . . . . . . . . . . . Number    00000060h   
VK_NUMPAD1 . . . . . . . . . . . Number    00000061h   
VK_NUMPAD2 . . . . . . . . . . . Number    00000062h   
VK_NUMPAD3 . . . . . . . . . . . Number    00000063h   
VK_NUMPAD4 . . . . . . . . . . . Number    00000064h   
VK_NUMPAD5 . . . . . . . . . . . Number    00000065h   
VK_NUMPAD6 . . . . . . . . . . . Number    00000066h   
VK_NUMPAD7 . . . . . . . . . . . Number    00000067h   
VK_NUMPAD8 . . . . . . . . . . . Number    00000068h   
VK_NUMPAD9 . . . . . . . . . . . Number    00000069h   
VK_PAUSE . . . . . . . . . . . . Number    00000013h   
VK_PRINT . . . . . . . . . . . . Number    0000002Ah   
VK_PRIOR . . . . . . . . . . . . Number    00000021h   
VK_RBUTTON . . . . . . . . . . . Number    00000002h   
VK_RCONTROL  . . . . . . . . . . Number    000000A3h   
VK_RETURN  . . . . . . . . . . . Number    0000000Dh   
VK_RIGHT . . . . . . . . . . . . Number    00000027h   
VK_RMENU . . . . . . . . . . . . Number    000000A5h   
VK_RSHIFT  . . . . . . . . . . . Number    000000A1h   
VK_SCROLL  . . . . . . . . . . . Number    00000091h   
VK_SEPARATER . . . . . . . . . . Number    0000006Ch   
VK_SHIFT . . . . . . . . . . . . Number    00000010h   
VK_SNAPSHOT  . . . . . . . . . . Number    0000002Ch   
VK_SPACE . . . . . . . . . . . . Number    00000020h   
VK_SUBTRACT  . . . . . . . . . . Number    0000006Dh   
VK_TAB . . . . . . . . . . . . . Number    00000009h   
VK_UP  . . . . . . . . . . . . . Number    00000026h   
WINDOW_BUFFER_SIZE_EVENT . . . . Number    00000004h   
WriteConsoleOutputCharacter  . . Text      WriteConsoleOutputCharacterA
WriteConsole . . . . . . . . . . Text      WriteConsoleA
black  . . . . . . . . . . . . . Number    00000000h   
blue . . . . . . . . . . . . . . Number    00000001h   
brown  . . . . . . . . . . . . . Number    00000006h   
bufSize  . . . . . . . . . . . . DWord  000000C6 _DATA   
buffer . . . . . . . . . . . . . Byte   00000045 _DATA   
cyan . . . . . . . . . . . . . . Number    00000003h   
exit . . . . . . . . . . . . . . Text      INVOKE ExitProcess,0
gray . . . . . . . . . . . . . . Number    00000008h   
green  . . . . . . . . . . . . . Number    00000002h   
lightBlue  . . . . . . . . . . . Number    00000009h   
lightCyan  . . . . . . . . . . . Number    0000000Bh   
lightGray  . . . . . . . . . . . Number    00000007h   
lightGreen . . . . . . . . . . . Number    0000000Ah   
lightMagenta . . . . . . . . . . Number    0000000Dh   
lightRed . . . . . . . . . . . . Number    0000000Ch   
magenta  . . . . . . . . . . . . Number    00000005h   
red  . . . . . . . . . . . . . . Number    00000004h   
sDecrypt . . . . . . . . . . . . Byte   0000002E _DATA   
sEncrypt . . . . . . . . . . . . Byte   00000017 _DATA   
sPrompt  . . . . . . . . . . . . Byte   00000000 _DATA   
white  . . . . . . . . . . . . . Number    0000000Fh   
wsprintf . . . . . . . . . . . . Text      wsprintfA
yellow . . . . . . . . . . . . . Number    0000000Eh   
      0 Warnings      0 Errors