Just going to leave this here. It's good for PIC16F628A chips.
Code:
; NAOMI/Triforce/Chihiro Netboot Security PIC v2.2
; invzim, idc/Team Avalaunch and others.
; Differences between games are the answers to:
; AIJYOANSWER (net/non-net), AKEYCODE, BKEYCODE, FIRSTREADFILE0
; Line: 937, 992, 1003, 1015
processor 16F628A
#include <P16F628A.INC>
__config 0x3FA2
; _CP_OFF & _DATA_CP_OFF & _LVP_ON & _BODEN_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF
; & _HS_OSC
; __idlocs 0xFF, 0xFF, 0xFF, 0xFF
; EEPROM-Data
Org 0x2100
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
DE 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ; ........
; RAM-Variable
LRAM_0x20 equ 0x20
LRAM_0x21 equ 0x21
LRAM_0x22 equ 0x22
LRAM_0x23 equ 0x23
LRAM_0x24 equ 0x24
LRAM_0x25 equ 0x25
LRAM_0x26 equ 0x26
LRAM_0x28 equ 0x28
LRAM_0x29 equ 0x29
LRAM_0x2A equ 0x2A
LRAM_0x2B equ 0x2B
LRAM_0x2C equ 0x2C
LRAM_0x35 equ 0x35
LRAM_0x3B equ 0x3B
LRAM_0x41 equ 0x41
LRAM_0x47 equ 0x47
LRAM_0x50 equ 0x50
LRAM_0x51 equ 0x51
LRAM_0x52 equ 0x52
LRAM_0x53 equ 0x53
LRAM_0x54 equ 0x54
LRAM_0x55 equ 0x55
LRAM_0x56 equ 0x56
LRAM_0x57 equ 0x57
LRAM_0x60 equ 0x60
LRAM_0x61 equ 0x61
LRAM_0x62 equ 0x62
LRAM_0x63 equ 0x63
LRAM_0x64 equ 0x64
LRAM_0x65 equ 0x65
LRAM_0x66 equ 0x66
LRAM_0x67 equ 0x67
; Program
Org 0x0000
; Reset-Vector
MOVLW 0x07 ; b'00000111' d'007'
MOVWF CMCON ; !!Bank!! CMCON - VRCON - Unimplemented - Unimplemented
NOP
GOTO LADR_0x0005 ; !!Bank!! 0x0005 - 0x0805
; Interrupt-Vector
GOTO LADR_0x02AA ; !!Bank!! 0x02AA - 0x0AAA
LADR_0x0005
CALL SETPINSHIGH ; !!Bank!! 0x0019 - 0x0819
CALL LADR_0x0026 ; !!Bank!! 0x0026 - 0x0826
CALL LADR_0x0080 ; !!Bank!! 0x0080 - 0x0880
LADR_0x0008
CALL LADR_0x003A ; !!Bank!! 0x003A - 0x083A
CALL LADR_0x0048 ; !!Bank!! 0x0048 - 0x0848
CALL LADR_0x002F ; !!Bank!! 0x002F - 0x082F
CALL LADR_0x0058 ; !!Bank!! 0x0058 - 0x0858
CALL LADR_0x005B ; !!Bank!! 0x005B - 0x085B
CALL LADR_0x0278 ; !!Bank!! 0x0278 - 0x0A78
CALL LADR_0x028C ; !!Bank!! 0x028C - 0x0A8C
CALL LADR_0x00E5 ; !!Bank!! 0x00E5 - 0x08E5
CALL CHECKQUESTION ; !!Bank!! 0x0146 - 0x0946
CALL LADR_0x011D ; !!Bank!! 0x011D - 0x091D
CALL LADR_0x023E ; !!Bank!! 0x023E - 0x0A3E
CALL LADR_0x0252 ; !!Bank!! 0x0252 - 0x0A52
CALL LADR_0x0091 ; !!Bank!! 0x0091 - 0x0891
CALL LADR_0x002F ; !!Bank!! 0x002F - 0x082F
CALL LADR_0x0133 ; !!Bank!! 0x0133 - 0x0933
CALL LADR_0x00B8 ; !!Bank!! 0x00B8 - 0x08B8
CALL LADR_0x02A9 ; !!Bank!! 0x02A9 - 0x0AA9
SETPINSHIGH
CLRF PORTA ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0xFF ; b'11111111' d'255'
MOVWF PORTA ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRF PORTB ; !!Bank!! PORTB - TRISB - PORTB - TRISB
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x5F ; b'01011111' d'095' "_"
MOVWF TMR0 ; !!Bank!! TMR0 - OPTION_REG - TMR0 - OPTION_REG
MOVLW 0xFF ; b'11111111' d'255'
MOVWF PORTB ; !!Bank!! PORTB - TRISB - PORTB - TRISB
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
RETURN
LADR_0x0026
MOVLW 0x5F ; b'01011111' d'095' "_"
MOVWF LRAM_0x20
MOVLW 0x21 ; b'00100001' d'033' "!"
MOVWF FSR
LADR_0x002A
CLRF INDF
INCF FSR,F
DECFSZ LRAM_0x20,F
GOTO LADR_0x002A ; !!Bank!! 0x002A - 0x082A
RETURN
LADR_0x002F
MOVLW 0x18 ; b'00011000' d'024'
MOVWF LRAM_0x21
MOVLW 0x30 ; b'00110000' d'048' "0"
MOVWF FSR
LADR_0x0033
MOVF INDF,W
ANDLW 0x07 ; b'00000111' d'007'
MOVWF INDF
INCF FSR,F
DECFSZ LRAM_0x21,F
GOTO LADR_0x0033 ; !!Bank!! 0x0033 - 0x0833
RETURN
LADR_0x003A
MOVLW 0x18 ; b'00011000' d'024'
MOVWF LRAM_0x20
MOVLW 0x30 ; b'00110000' d'048' "0"
MOVWF FSR
LADR_0x003E
BTFSC PORTB,3 ; !!Bank!! PORTB - TRISB - PORTB - TRISB
GOTO LADR_0x003E ; !!Bank!! 0x003E - 0x083E
LADR_0x0040
BTFSS PORTB,3 ; !!Bank!! PORTB - TRISB - PORTB - TRISB
GOTO LADR_0x0040 ; !!Bank!! 0x0040 - 0x0840
MOVF PORTB,W ; !!Bank!! PORTB - TRISB - PORTB - TRISB
MOVWF INDF
INCF FSR,F
DECFSZ LRAM_0x20,F
GOTO LADR_0x003E ; !!Bank!! 0x003E - 0x083E
RETURN
LADR_0x0048
MOVLW 0x08 ; b'00001000' d'008'
MOVWF LRAM_0x20
MOVLW 0x0E ; b'00001110' d'014'
MOVWF LRAM_0x21
MOVLW 0x32 ; b'00110010' d'050' "2"
MOVWF FSR
LADR_0x004E
BTFSC INDF,2
BSF LRAM_0x2C,0
BTFSC LRAM_0x21,3
RLF LRAM_0x2C,F
MOVLW 0x03 ; b'00000011' d'003'
ADDWF FSR,F
DECF LRAM_0x21,F
DECFSZ LRAM_0x20,F
GOTO LADR_0x004E ; !!Bank!! 0x004E - 0x084E
RETURN
LADR_0x0058
MOVF LRAM_0x60,W
MOVWF LRAM_0x26
RETURN
LADR_0x005B
MOVLW 0x08 ; b'00001000' d'008'
MOVWF LRAM_0x20
CLRF LRAM_0x21
CLRF LRAM_0x22
CLRF LRAM_0x23
LADR_0x0060
MOVLW 0x30 ; b'00110000' d'048' "0"
ADDWF LRAM_0x23,W
MOVWF FSR
MOVF INDF,W
MOVWF LRAM_0x28
INCF LRAM_0x23,F
INCF FSR,F
RLF INDF,F
RLF INDF,F
RLF INDF,F
MOVF INDF,W
ADDWF LRAM_0x28,F
INCF LRAM_0x23,F
INCF FSR,F
RLF INDF,F
RLF INDF,F
RLF INDF,F
RLF INDF,F
RLF INDF,F
RLF INDF,F
MOVF INDF,W
ADDWF LRAM_0x28,F
MOVLW 0x60 ; b'01100000' d'096' "`"
ADDWF LRAM_0x22,W
MOVWF FSR
MOVF LRAM_0x28,W
MOVWF INDF
INCF LRAM_0x23,F
INCF LRAM_0x22,F
DECFSZ LRAM_0x20,F
GOTO LADR_0x0060 ; !!Bank!! 0x0060 - 0x0860
RETURN
LADR_0x0080
MOVLW 0x10 ; b'00010000' d'016'
MOVWF LRAM_0x20
CLRF LRAM_0x21
LADR_0x0083
MOVF LRAM_0x21,W
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
CALL INITSESSIONKEY ; !!Bank!! 0x0381 - 0x0B81
MOVWF LRAM_0x28
MOVLW 0x50 ; b'01010000' d'080' "P"
ADDWF LRAM_0x21,W
MOVWF FSR
MOVF LRAM_0x28,W
MOVWF INDF
INCF LRAM_0x21,F
DECFSZ LRAM_0x20,F
GOTO LADR_0x0083 ; !!Bank!! 0x0083 - 0x0883
RETURN
LADR_0x0091
CLRF LRAM_0x20
MOVLW 0x08 ; b'00001000' d'008'
MOVWF LRAM_0x21
CLRF LRAM_0x22
LADR_0x0095
MOVLW 0x68 ; b'01101000' d'104' "h"
ADDWF LRAM_0x20,W
MOVWF FSR
MOVF INDF,W
MOVWF LRAM_0x28
MOVLW 0x30 ; b'00110000' d'048' "0"
ADDWF LRAM_0x22,W
MOVWF FSR
MOVF LRAM_0x28,W
MOVWF INDF
INCF LRAM_0x22,F
RRF LRAM_0x28,F
RRF LRAM_0x28,F
RRF LRAM_0x28,F
MOVF LRAM_0x28,W
MOVLW 0x30 ; b'00110000' d'048' "0"
ADDWF LRAM_0x22,W
MOVWF FSR
MOVF LRAM_0x28,W
MOVWF INDF
INCF LRAM_0x22,F
RRF LRAM_0x28,F
RRF LRAM_0x28,F
RRF LRAM_0x28,F
MOVF LRAM_0x28,W
MOVLW 0x30 ; b'00110000' d'048' "0"
ADDWF LRAM_0x22,W
MOVWF FSR
MOVF LRAM_0x28,W
MOVWF INDF
INCF LRAM_0x22,F
INCF LRAM_0x20,F
DECFSZ LRAM_0x21,F
GOTO LADR_0x0095 ; !!Bank!! 0x0095 - 0x0895
RETURN
LADR_0x00B8
CLRF LRAM_0x20
MOVLW 0x18 ; b'00011000' d'024'
MOVWF LRAM_0x21
CLRF PORTB ; !!Bank!! PORTB - TRISB - PORTB - TRISB
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0xF0 ; b'11110000' d'240'
MOVWF PORTB ; !!Bank!! PORTB - TRISB - PORTB - TRISB
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
LADR_0x00C0
MOVLW 0x30 ; b'00110000' d'048' "0"
ADDWF LRAM_0x20,W
MOVWF FSR
MOVF INDF,W
MOVWF PORTB ; !!Bank!! PORTB - TRISB - PORTB - TRISB
BSF INDF,3
MOVF INDF,W
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVWF PORTB ; !!Bank!! PORTB - TRISB - PORTB - TRISB
INCF LRAM_0x20,F
DECFSZ LRAM_0x21,F
GOTO LADR_0x00C0 ; !!Bank!! 0x00C0 - 0x08C0
NOP
NOP
NOP
NOP
NOP
NOP
CLRF PORTB ; !!Bank!! PORTB - TRISB - PORTB - TRISB
NOP
NOP
NOP
NOP
NOP
NOP
NOP
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0xFF ; b'11111111' d'255'
MOVWF PORTB ; !!Bank!! PORTB - TRISB - PORTB - TRISB
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
RETURN
LADR_0x00E5
MOVLW 0x08 ; b'00001000' d'008'
MOVWF LRAM_0x21
MOVLW 0x0E ; b'00001110' d'014'
MOVWF LRAM_0x22
MOVLW 0x60 ; b'01100000' d'096' "`"
MOVWF FSR
CLRF LRAM_0x2B
LADR_0x00EC
MOVLW 0x09 ; b'00001001' d'009'
MOVWF LRAM_0x20
MOVF INDF,W
MOVWF LRAM_0x28
CLRF LRAM_0x2A
LADR_0x00F1
MOVF LRAM_0x28,W
XORWF LRAM_0x2A,F
RLF LRAM_0x28,F
DECFSZ LRAM_0x20,F
GOTO LADR_0x00F1 ; !!Bank!! 0x00F1 - 0x08F1
BTFSC LRAM_0x21,0
GOTO LADR_0x00F8 ; !!Bank!! 0x00F8 - 0x08F8
LADR_0x00F8
BTFSC LRAM_0x2A,7
BSF LRAM_0x2B,0
GOTO LADR_0x00FD ; !!Bank!! 0x00FD - 0x08FD
BTFSS LRAM_0x2A,7
BSF LRAM_0x2B,0
LADR_0x00FD
BTFSC LRAM_0x22,3
RLF LRAM_0x2B,F
INCF FSR,F
DECF LRAM_0x22,F
DECFSZ LRAM_0x21,F
GOTO LADR_0x00EC ; !!Bank!! 0x00EC - 0x08EC
RETURN
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x0F ; b'00001111' d'015'
MOVWF PORTB ; !!Bank!! PORTB - TRISB - PORTB - TRISB
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVF LRAM_0x2B,W
MOVWF LRAM_0x28
RLF LRAM_0x28,F
RLF LRAM_0x28,F
RLF LRAM_0x28,F
RLF LRAM_0x28,F
MOVF LRAM_0x28,W
MOVWF PORTB ; !!Bank!! PORTB - TRISB - PORTB - TRISB
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x0F ; b'00001111' d'015'
MOVWF PORTB ; !!Bank!! PORTB - TRISB - PORTB - TRISB
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVF LRAM_0x2B,W
MOVWF LRAM_0x28
RRF LRAM_0x28,F
RRF LRAM_0x28,F
RRF LRAM_0x28,F
RRF LRAM_0x28,F
MOVF LRAM_0x28,W
MOVWF PORTA ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
RETURN
LADR_0x011D
MOVLW 0x07 ; b'00000111' d'007'
MOVWF LRAM_0x21
MOVLW 0x68 ; b'01101000' d'104' "h"
MOVWF FSR
CLRF LRAM_0x2B
LADR_0x0122
MOVLW 0x09 ; b'00001001' d'009'
MOVWF LRAM_0x20
MOVF INDF,W
MOVWF LRAM_0x28
CLRF LRAM_0x2A
LADR_0x0127
MOVF LRAM_0x28,W
XORWF LRAM_0x2A,F
RLF LRAM_0x28,F
DECFSZ LRAM_0x20,F
GOTO LADR_0x0127 ; !!Bank!! 0x0127 - 0x0927
BTFSC LRAM_0x2A,0
BSF LRAM_0x2B,0
RLF LRAM_0x2B,F
INCF FSR,F
DECFSZ LRAM_0x21,F
GOTO LADR_0x0122 ; !!Bank!! 0x0122 - 0x0922
RETURN
LADR_0x0133
MOVLW 0x08 ; b'00001000' d'008'
MOVWF LRAM_0x20
MOVLW 0x47 ; b'01000111' d'071' "G"
MOVWF FSR
LADR_0x0137
BTFSC LRAM_0x2B,0
BSF INDF,2
RRF LRAM_0x2B,F
MOVLW 0x03 ; b'00000011' d'003'
SUBWF FSR,F
DECFSZ LRAM_0x20,F
GOTO LADR_0x0137 ; !!Bank!! 0x0137 - 0x0937
RETURN
MOVF LRAM_0x2C,W
XORWF LRAM_0x2B,W
ANDLW 0x3F ; b'00111111' d'063' "?"
BTFSS STATUS,Z
GOTO LADR_0x0145 ; !!Bank!! 0x0145 - 0x0945
RETURN
LADR_0x0145
GOTO LADR_0x0145 ; !!Bank!! 0x0145 - 0x0945
CHECKQUESTION
MOVLW 0x07 ; b'00000111' d'007'
MOVWF LRAM_0x20
CLRF LRAM_0x21
CLRF LRAM_0x29
MOVF LRAM_0x60,W
XORLW 0x21 ; b'00100001' d'033' "!"
BTFSC STATUS,Z
GOTO LADR_0x0192 ; !!Bank!! 0x0192 - 0x0992
MOVF LRAM_0x60,W
XORLW 0x22 ; b'00100010' d'034' """
BTFSC STATUS,Z
GOTO LADR_0x0192 ; !!Bank!! 0x0192 - 0x0992
MOVF LRAM_0x60,W
XORLW 0x23 ; b'00100011' d'035' "#"
BTFSC STATUS,Z
GOTO LADR_0x0192 ; !!Bank!! 0x0192 - 0x0992
MOVF LRAM_0x60,W
XORLW 0x41 ; b'01000001' d'065' "A"
BTFSC STATUS,Z
GOTO LADR_0x0184 ; !!Bank!! 0x0184 - 0x0984
MOVLW 0x07 ; b'00000111' d'007'
ADDWF LRAM_0x21,F
MOVF LRAM_0x60,W
XORLW 0x42 ; b'01000010' d'066' "B"
BTFSC STATUS,Z
GOTO LADR_0x0184 ; !!Bank!! 0x0184 - 0x0984
MOVLW 0x07 ; b'00000111' d'007'
ADDWF LRAM_0x21,F
MOVF LRAM_0x60,W
XORLW 0x43 ; b'01000011' d'067' "C"
BTFSC STATUS,Z
GOTO LADR_0x0184 ; !!Bank!! 0x0184 - 0x0984
MOVLW 0x07 ; b'00000111' d'007'
ADDWF LRAM_0x21,F
MOVF LRAM_0x60,W
XORLW 0x44 ; b'01000100' d'068' "D"
BTFSC STATUS,Z
GOTO LADR_0x0184 ; !!Bank!! 0x0184 - 0x0984
MOVLW 0x07 ; b'00000111' d'007'
ADDWF LRAM_0x21,F
MOVF LRAM_0x60,W
XORLW 0x61 ; b'01100001' d'097' "a"
BTFSC STATUS,Z
GOTO LADR_0x0184 ; !!Bank!! 0x0184 - 0x0984
MOVLW 0x07 ; b'00000111' d'007'
ADDWF LRAM_0x21,F
MOVF LRAM_0x60,W
XORLW 0x62 ; b'01100010' d'098' "b"
BTFSC STATUS,Z
GOTO LADR_0x0184 ; !!Bank!! 0x0184 - 0x0984
MOVLW 0x07 ; b'00000111' d'007'
ADDWF LRAM_0x21,F
MOVF LRAM_0x60,W
XORLW 0x66 ; b'01100110' d'102' "f"
BTFSC STATUS,Z
GOTO LADR_0x0184 ; !!Bank!! 0x0184 - 0x0984
MOVLW 0x07 ; b'00000111' d'007'
ADDWF LRAM_0x21,F
MOVF LRAM_0x60,W
XORLW 0x6B ; b'01101011' d'107' "k"
BTFSC STATUS,Z
GOTO LADR_0x0184 ; !!Bank!! 0x0184 - 0x0984
LADR_0x0184
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVLW 0x61 ; b'01100001' d'097' "a"
MOVWF FSR
LADR_0x0188
MOVF LRAM_0x21,W
CALL QUESTIONS ; !!Bank!! 0x0300 - 0x0B00
XORWF INDF,W
BTFSS STATUS,Z
GOTO LADR_0x0195 ; !!Bank!! 0x0195 - 0x0995
INCF FSR,F
INCF LRAM_0x21,F
DECF LRAM_0x20,F
BTFSS STATUS,Z
GOTO LADR_0x0188 ; !!Bank!! 0x0188 - 0x0988
LADR_0x0192
MOVF LRAM_0x60,W
MOVWF LRAM_0x29
GOTO LADR_0x0195 ; !!Bank!! 0x0195 - 0x0995
LADR_0x0195
MOVLW 0x08 ; b'00001000' d'008'
MOVWF LRAM_0x20
CLRF LRAM_0x21
LADR_0x0198
MOVF LRAM_0x29,W
XORLW 0x21 ; b'00100001' d'033' "!"
BTFSS STATUS,Z
GOTO LADR_0x01A7 ; !!Bank!! 0x01A7 - 0x09A7
MOVLW 0x50 ; b'01010000' d'080' "P"
MOVWF LRAM_0x25
MOVLW 0x07 ; b'00000111' d'007'
MOVWF LRAM_0x23
BTFSC LRAM_0x20,3
CALL LADR_0x022B ; !!Bank!! 0x022B - 0x0A2B
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVF LRAM_0x21,W
CALL SESSIONKEYANSWER1 ; !!Bank!! 0x0339 - 0x0B39
GOTO LADR_0x0221 ; !!Bank!! 0x0221 - 0x0A21
LADR_0x01A7
MOVF LRAM_0x29,W
XORLW 0x22 ; b'00100010' d'034' """
BTFSS STATUS,Z
GOTO LADR_0x01B6 ; !!Bank!! 0x01B6 - 0x09B6
MOVLW 0x57 ; b'01010111' d'087' "W"
MOVWF LRAM_0x25
MOVLW 0x07 ; b'00000111' d'007'
MOVWF LRAM_0x23
BTFSC LRAM_0x20,3
CALL LADR_0x022B ; !!Bank!! 0x022B - 0x0A2B
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVF LRAM_0x21,W
CALL SESSIONKEYANSWER2 ; !!Bank!! 0x0342 - 0x0B42
GOTO LADR_0x0221 ; !!Bank!! 0x0221 - 0x0A21
LADR_0x01B6
MOVF LRAM_0x29,W
XORLW 0x23 ; b'00100011' d'035' "#"
BTFSS STATUS,Z
GOTO LADR_0x01C5 ; !!Bank!! 0x01C5 - 0x09C5
MOVLW 0x5E ; b'01011110' d'094' "^"
MOVWF LRAM_0x25
MOVLW 0x02 ; b'00000010' d'002'
MOVWF LRAM_0x23
BTFSC LRAM_0x20,3
CALL LADR_0x022B ; !!Bank!! 0x022B - 0x0A2B
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVF LRAM_0x21,W
CALL SESSIONKEYANSWER3 ; !!Bank!! 0x034B - 0x0B4B
GOTO LADR_0x0221 ; !!Bank!! 0x0221 - 0x0A21
LADR_0x01C5
MOVF LRAM_0x29,W
XORLW 0x41 ; b'01000001' d'065' "A"
BTFSS STATUS,Z
GOTO LADR_0x01CE ; !!Bank!! 0x01CE - 0x09CE
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVF LRAM_0x21,W
CALL AKEYCODE ; !!Bank!! 0x03BE - 0x0BBE
GOTO LADR_0x0221 ; !!Bank!! 0x0221 - 0x0A21
LADR_0x01CE
MOVF LRAM_0x29,W
XORLW 0x42 ; b'01000010' d'066' "B"
BTFSS STATUS,Z
GOTO LADR_0x01D7 ; !!Bank!! 0x01D7 - 0x09D7
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVF LRAM_0x21,W
CALL BKEYCODE ; !!Bank!! 0x03CE - 0x0BCE
GOTO LADR_0x0221 ; !!Bank!! 0x0221 - 0x0A21
LADR_0x01D7
MOVF LRAM_0x29,W
XORLW 0x43 ; b'01000011' d'067' "C"
BTFSS STATUS,Z
GOTO LADR_0x01E0 ; !!Bank!! 0x01E0 - 0x09E0
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVF LRAM_0x21,W
CALL FIRSTREADFILE0 ; !!Bank!! 0x03DE - 0x0BDE
GOTO LADR_0x0221 ; !!Bank!! 0x0221 - 0x0A21
LADR_0x01E0
MOVF LRAM_0x29,W
XORLW 0x44 ; b'01000100' d'068' "D"
BTFSS STATUS,Z
GOTO LADR_0x01E9 ; !!Bank!! 0x01E9 - 0x09E9
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVF LRAM_0x21,W
CALL FIRSTREADFILE1 ; !!Bank!! 0x03EE - 0x0BEE
GOTO LADR_0x0221 ; !!Bank!! 0x0221 - 0x0A21
LADR_0x01E9
MOVF LRAM_0x29,W
XORLW 0x61 ; b'01100001' d'097' "a"
BTFSS STATUS,Z
GOTO LADR_0x01F2 ; !!Bank!! 0x01F2 - 0x09F2
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVF LRAM_0x21,W
CALL KEEPALIVEANSWER ; !!Bank!! 0x0354 - 0x0B54
GOTO LADR_0x0221 ; !!Bank!! 0x0221 - 0x0A21
LADR_0x01F2
MOVF LRAM_0x29,W
XORLW 0x62 ; b'01100010' d'098' "b"
BTFSS STATUS,Z
GOTO LADR_0x01FB ; !!Bank!! 0x01FB - 0x09FB
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVF LRAM_0x21,W
CALL SECVERANSWER ; !!Bank!! 0x035D - 0x0B5D
GOTO LADR_0x0221 ; !!Bank!! 0x0221 - 0x0A21
LADR_0x01FB
MOVF LRAM_0x29,W
XORLW 0x66 ; b'01100110' d'102' "f"
BTFSS STATUS,Z
GOTO LADR_0x0204 ; !!Bank!! 0x0204 - 0x0A04
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVF LRAM_0x21,W
CALL NAOMIGDANSWER ; !!Bank!! 0x0366 - 0x0B66
GOTO LADR_0x0221 ; !!Bank!! 0x0221 - 0x0A21
LADR_0x0204
MOVF LRAM_0x29,W
XORLW 0x6B ; b'01101011' d'107' "k"
BTFSS STATUS,Z
GOTO LADR_0x020D ; !!Bank!! 0x020D - 0x0A0D
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVF LRAM_0x21,W
CALL AIJYOANSWER ; !!Bank!! 0x036F - 0x0B6F
GOTO LADR_0x0221 ; !!Bank!! 0x0221 - 0x0A21
LADR_0x020D
BSF PCLATH,0 ; !!Bank Program-Page-Select
BSF PCLATH,1 ; !!Bank Program-Page-Select
MOVF LRAM_0x21,W
CALL LADR_0x0378 ; !!Bank!! 0x0378 - 0x0B78
MOVF LRAM_0x60,W
MOVWF LRAM_0x57
MOVF LRAM_0x61,W
MOVWF LRAM_0x55
MOVF LRAM_0x62,W
MOVWF LRAM_0x53
MOVF LRAM_0x63,W
MOVWF LRAM_0x51
MOVF LRAM_0x64,W
MOVWF LRAM_0x56
MOVF LRAM_0x65,W
MOVWF LRAM_0x54
MOVF LRAM_0x66,W
MOVWF LRAM_0x52
MOVF LRAM_0x67,W
MOVWF LRAM_0x50
LADR_0x0221
MOVWF LRAM_0x28
MOVLW 0x68 ; b'01101000' d'104' "h"
ADDWF LRAM_0x21,W
MOVWF FSR
MOVF LRAM_0x28,W
MOVWF INDF
INCF LRAM_0x21,F
DECFSZ LRAM_0x20,F
GOTO LADR_0x0198 ; !!Bank!! 0x0198 - 0x0998
RETURN
LADR_0x022B
MOVLW 0x61 ; b'01100001' d'097' "a"
MOVWF LRAM_0x24
LADR_0x022D
MOVWF FSR
MOVWF LRAM_0x22
MOVF INDF,W
MOVWF LRAM_0x28
MOVF LRAM_0x25,W
MOVWF FSR
MOVF LRAM_0x28,W
MOVWF INDF
MOVF LRAM_0x22,W
MOVWF FSR
MOVLW 0x01 ; b'00000001' d'001'
ADDWF LRAM_0x25,F
INCF FSR,W
INCF LRAM_0x24,F
DECFSZ LRAM_0x23,F
GOTO LADR_0x022D ; !!Bank!! 0x022D - 0x0A2D
RETURN
LADR_0x023E
MOVLW 0x08 ; b'00001000' d'008'
MOVWF LRAM_0x20
MOVLW 0x68 ; b'01101000' d'104' "h"
MOVWF LRAM_0x21
MOVLW 0x58 ; b'01011000' d'088' "X"
MOVWF LRAM_0x22
LADR_0x0244
MOVF LRAM_0x22,W
MOVWF FSR
MOVF INDF,W
MOVWF LRAM_0x28
MOVF LRAM_0x21,W
MOVWF FSR
MOVF LRAM_0x28,W
XORWF INDF,F
INCF LRAM_0x21,F
INCF LRAM_0x22,F
DECF LRAM_0x20,F
BTFSS STATUS,Z
GOTO LADR_0x0244 ; !!Bank!! 0x0244 - 0x0A44
RETURN
LADR_0x0252
MOVF LRAM_0x29,W
XORLW 0x66 ; b'01100110' d'102' "f"
BTFSC STATUS,Z
GOTO LADR_0x0269 ; !!Bank!! 0x0269 - 0x0A69
MOVLW 0x08 ; b'00001000' d'008'
MOVWF LRAM_0x20
MOVLW 0x68 ; b'01101000' d'104' "h"
MOVWF LRAM_0x21
MOVLW 0x50 ; b'01010000' d'080' "P"
MOVWF LRAM_0x22
LADR_0x025C
MOVF LRAM_0x22,W
MOVWF FSR
MOVF INDF,W
MOVWF LRAM_0x28
MOVF LRAM_0x21,W
MOVWF FSR
MOVF LRAM_0x28,W
ADDWF INDF,F
INCF LRAM_0x21,F
INCF LRAM_0x22,F
DECF LRAM_0x20,F
BTFSS STATUS,Z
GOTO LADR_0x025C ; !!Bank!! 0x025C - 0x0A5C
LADR_0x0269
RETURN
MOVF LRAM_0x22,W
MOVWF FSR
MOVF INDF,W
MOVWF LRAM_0x28
MOVF LRAM_0x21,W
MOVWF FSR
MOVF LRAM_0x28,W
SUBWF INDF,F
INCF LRAM_0x21,F
INCF LRAM_0x22,F
DECF LRAM_0x20,F
BTFSS STATUS,Z
GOTO LADR_0x025C ; !!Bank!! 0x025C - 0x0A5C
RETURN
LADR_0x0278
MOVLW 0x08 ; b'00001000' d'008'
MOVWF LRAM_0x20
MOVLW 0x60 ; b'01100000' d'096' "`"
MOVWF LRAM_0x21
MOVLW 0x50 ; b'01010000' d'080' "P"
MOVWF LRAM_0x22
LADR_0x027E
MOVF LRAM_0x22,W
MOVWF FSR
MOVF INDF,W
MOVWF LRAM_0x28
MOVF LRAM_0x21,W
MOVWF FSR
MOVF LRAM_0x28,W
SUBWF INDF,F
INCF LRAM_0x21,F
INCF LRAM_0x22,F
DECF LRAM_0x20,F
BTFSS STATUS,Z
GOTO LADR_0x027E ; !!Bank!! 0x027E - 0x0A7E
RETURN
LADR_0x028C
MOVLW 0x08 ; b'00001000' d'008'
MOVWF LRAM_0x20
MOVLW 0x60 ; b'01100000' d'096' "`"
MOVWF LRAM_0x21
MOVLW 0x58 ; b'01011000' d'088' "X"
MOVWF LRAM_0x22
LADR_0x0292
MOVF LRAM_0x22,W
MOVWF FSR
MOVF INDF,W
MOVWF LRAM_0x28
MOVF LRAM_0x21,W
MOVWF FSR
MOVF LRAM_0x28,W
XORWF INDF,F
INCF LRAM_0x21,F
INCF LRAM_0x22,F
DECF LRAM_0x20,F
BTFSS STATUS,Z
GOTO LADR_0x0292 ; !!Bank!! 0x0292 - 0x0A92
RETURN
MOVLW 0x04 ; b'00000100' d'004'
MOVWF LRAM_0x35
MOVLW 0x04 ; b'00000100' d'004'
MOVWF LRAM_0x3B
MOVLW 0x04 ; b'00000100' d'004'
MOVWF LRAM_0x41
MOVLW 0x04 ; b'00000100' d'004'
MOVWF LRAM_0x47
RETURN
LADR_0x02A9
GOTO LADR_0x0008 ; !!Bank!! 0x0008 - 0x0808
LADR_0x02AA
RETFIE
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
QUESTIONS
ADDWF PCL,F ; !!Program-Counter-Modification
DT "KEYCODE"
DT "keycode"
DT "1strdf0"
DT "1strdf1"
DT "testpic"
DT "sec_ver"
DT "NaomiGD"
DT "aijyo!?"
SESSIONKEYANSWER1
ADDWF PCL,F ; !!Program-Counter-Modification
DT "0DIMMID0"
SESSIONKEYANSWER2
ADDWF PCL,F ; !!Program-Counter-Modification
DT "1DIMMID1"
SESSIONKEYANSWER3
ADDWF PCL,F ; !!Program-Counter-Modification
DT "2DIMMID2"
KEEPALIVEANSWER
ADDWF PCL,F ; !!Program-Counter-Modification
DT "7TEST_OK"
SECVERANSWER
ADDWF PCL,F ; !!Program-Counter-Modification
DT "8VER0001"
NAOMIGDANSWER
ADDWF PCL,F ; !!Program-Counter-Modification
DT "?HereIam"
AIJYOANSWER
ADDWF PCL,F ; !!Program-Counter-Modification
DT 0x3A,0x70,0x1F,0x71,0x1F,0x4C,0x00 ; First seven bytes
; DT 0x00 ; Eighth byte = 00 --> GD ROM boot
DT 0x01 ; Eighth byte = 01 --> Network boot
LADR_0x0378
ADDWF PCL,F ; !!Program-Counter-Modification
DT "ZERROR00"
INITSESSIONKEY
ADDWF PCL,F ; !!Program-Counter-Modification
DT "NAOMIGDROMSYSTEM" ; Initial session key
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
AKEYCODE
ADDWF PCL,F ; !!Program-Counter-Modification
DT "3"
DT 0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; First 7 bytes of DES key
NOP
NOP
NOP
NOP
NOP
NOP
NOP
BKEYCODE
ADDWF PCL,F ; !!Program-Counter-Modification
DT "4"
DT 0x00 ; Last byte of DES key
DT 0x00,0x00,0x00,0x00,0x00,0x00 ; Six bytes of padding
NOP
NOP
NOP
NOP
NOP
NOP
NOP
FIRSTREADFILE0
ADDWF PCL,F ; !!Program-Counter-Modification
DT "5"
DT "ABC.BIN" ; First seven bytes of bootstrap filename
NOP
NOP
NOP
NOP
NOP
NOP
NOP
FIRSTREADFILE1
ADDWF PCL,F ; !!Program-Counter-Modification
DT "6"
DT 0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; Last seven bytes of bootstrap filename
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
End