Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //some asm shit :)
- ; 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_0x0A equ 0x0A
- 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
- GOTO LADR_0x0005
- NOP
- NOP
- NOP
- ; Interrupt-Vector
- GOTO LADR_0x02AA
- LADR_0x0005
- CALL SETPINSHIGH
- CALL LADR_0x0026
- CALL LADR_0x0080
- LADR_0x0008
- CALL LADR_0x003A
- CALL LADR_0x0048
- CALL LADR_0x002F
- CALL LADR_0x0058
- CALL LADR_0x005B
- CALL LADR_0x0278
- CALL LADR_0x028C
- CALL LADR_0x00E5
- CALL CHECKQUESTION
- CALL LADR_0x011D
- CALL LADR_0x023E
- CALL LADR_0x0252
- CALL LADR_0x0091
- CALL LADR_0x002F
- CALL LADR_0x0133
- CALL LADR_0x00B8
- CALL LADR_0x02A9
- 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
- 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
- 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
- LADR_0x0040
- BTFSS PORTB,3 ; !!Bank!! PORTB - TRISB - PORTB - TRISB
- GOTO LADR_0x0040
- MOVF PORTB,W ; !!Bank!! PORTB - TRISB - PORTB - TRISB
- MOVWF INDF
- INCF FSR,F
- DECFSZ LRAM_0x20,F
- GOTO LADR_0x003E
- 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
- 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
- RETURN
- LADR_0x0080
- MOVLW 0x10 ; b'00010000' d'016'
- MOVWF LRAM_0x20
- CLRF LRAM_0x21
- LADR_0x0083
- MOVF LRAM_0x21,W
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- CALL PICPASSWORD
- 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
- 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
- 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
- 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
- BTFSC LRAM_0x21,0
- GOTO LADR_0x00F8
- LADR_0x00F8
- BTFSC LRAM_0x2A,7
- BSF LRAM_0x2B,0
- GOTO LADR_0x00FD
- 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
- 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
- BTFSC LRAM_0x2A,0
- BSF LRAM_0x2B,0
- RLF LRAM_0x2B,F
- INCF FSR,F
- DECFSZ LRAM_0x21,F
- GOTO LADR_0x0122
- 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
- RETURN
- MOVF LRAM_0x2C,W
- XORWF LRAM_0x2B,W
- ANDLW 0x3F ; b'00111111' d'063' "?"
- BTFSS STATUS,Z
- GOTO LADR_0x0145
- RETURN
- LADR_0x0145
- GOTO LADR_0x0145
- 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
- MOVF LRAM_0x60,W
- XORLW 0x22 ; b'00100010' d'034' """
- BTFSC STATUS,Z
- GOTO LADR_0x0192
- MOVF LRAM_0x60,W
- XORLW 0x23 ; b'00100011' d'035' "#"
- BTFSC STATUS,Z
- GOTO LADR_0x0192
- MOVF LRAM_0x60,W
- XORLW 0x41 ; b'01000001' d'065' "A"
- BTFSC STATUS,Z
- GOTO LADR_0x0184
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- LADR_0x0184
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVLW 0x61 ; b'01100001' d'097' "a"
- MOVWF FSR
- LADR_0x0188
- MOVF LRAM_0x21,W
- CALL QUESTIONS
- XORWF INDF,W
- BTFSS STATUS,Z
- GOTO LADR_0x0195
- INCF FSR,F
- INCF LRAM_0x21,F
- DECF LRAM_0x20,F
- BTFSS STATUS,Z
- GOTO LADR_0x0188
- LADR_0x0192
- MOVF LRAM_0x60,W
- MOVWF LRAM_0x29
- GOTO LADR_0x0195
- 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
- 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
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVF LRAM_0x21,W
- CALL ANSWER1
- GOTO LADR_0x0221
- LADR_0x01A7
- MOVF LRAM_0x29,W
- XORLW 0x22 ; b'00100010' d'034' """
- BTFSS STATUS,Z
- GOTO LADR_0x01B6
- 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
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVF LRAM_0x21,W
- CALL ANSWER2
- GOTO LADR_0x0221
- LADR_0x01B6
- MOVF LRAM_0x29,W
- XORLW 0x23 ; b'00100011' d'035' "#"
- BTFSS STATUS,Z
- GOTO LADR_0x01C5
- 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
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVF LRAM_0x21,W
- CALL ANSWER3
- GOTO LADR_0x0221
- LADR_0x01C5
- MOVF LRAM_0x29,W
- XORLW 0x41 ; b'01000001' d'065' "A"
- BTFSS STATUS,Z
- GOTO LADR_0x01CE
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVF LRAM_0x21,W
- CALL AKEYCODE
- GOTO LADR_0x0221
- LADR_0x01CE
- MOVF LRAM_0x29,W
- XORLW 0x42 ; b'01000010' d'066' "B"
- BTFSS STATUS,Z
- GOTO LADR_0x01D7
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVF LRAM_0x21,W
- CALL BKEYCODE
- GOTO LADR_0x0221
- LADR_0x01D7
- MOVF LRAM_0x29,W
- XORLW 0x43 ; b'01000011' d'067' "C"
- BTFSS STATUS,Z
- GOTO LADR_0x01E0
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVF LRAM_0x21,W
- CALL FILENAME
- GOTO LADR_0x0221
- LADR_0x01E0
- MOVF LRAM_0x29,W
- XORLW 0x44 ; b'01000100' d'068' "D"
- BTFSS STATUS,Z
- GOTO LADR_0x01E9
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVF LRAM_0x21,W
- CALL LADR_0x03EE
- GOTO LADR_0x0221
- LADR_0x01E9
- MOVF LRAM_0x29,W
- XORLW 0x61 ; b'01100001' d'097' "a"
- BTFSS STATUS,Z
- GOTO LADR_0x01F2
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVF LRAM_0x21,W
- CALL KEEPALIVEANSWER
- GOTO LADR_0x0221
- LADR_0x01F2
- MOVF LRAM_0x29,W
- XORLW 0x62 ; b'01100010' d'098' "b"
- BTFSS STATUS,Z
- GOTO LADR_0x01FB
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVF LRAM_0x21,W
- CALL SECVERANSWER
- GOTO LADR_0x0221
- LADR_0x01FB
- MOVF LRAM_0x29,W
- XORLW 0x66 ; b'01100110' d'102' "f"
- BTFSS STATUS,Z
- GOTO LADR_0x0204
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVF LRAM_0x21,W
- CALL ANSWER4
- GOTO LADR_0x0221
- LADR_0x0204
- MOVF LRAM_0x29,W
- XORLW 0x6B ; b'01101011' d'107' "k"
- BTFSS STATUS,Z
- GOTO LADR_0x020D
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVF LRAM_0x21,W
- CALL AIJYOANSWER
- GOTO LADR_0x0221
- LADR_0x020D
- BSF LRAM_0x0A,0
- BSF LRAM_0x0A,1
- MOVF LRAM_0x21,W
- CALL LADR_0x0378
- 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
- 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
- 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
- RETURN
- LADR_0x0252
- MOVF LRAM_0x29,W
- XORLW 0x66 ; b'01100110' d'102' "f"
- BTFSC STATUS,Z
- GOTO LADR_0x0269
- 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
- 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
- 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
- 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
- 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
- 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!?"
- ANSWER1
- ADDWF PCL,F ; !!Program-Counter-Modification
- DT "0DIMMID0"
- ANSWER2
- ADDWF PCL,F ; !!Program-Counter-Modification
- DT "1DIMMID1"
- ANSWER3
- 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"
- ANSWER4
- ADDWF PCL,F ; !!Program-Counter-Modification
- DT "?HereIam"
- AIJYOANSWER
- ADDWF PCL,F ; !!Program-Counter-Modification
- DT 0x3A,0x70,0x1F,0x71,0x1F,0x00,0x00,0x00
- ; DT 0x3A,0x70,0x1F,0x71,0x1F,0x00,0x00,0x01
- LADR_0x0378
- ADDWF PCL,F ; !!Program-Counter-Modification
- DT "ZERROR00"
- PICPASSWORD
- ADDWF PCL,F ; !!Program-Counter-Modification
- DT "NAOMIGDROMSYSTEM"
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- 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 0x33,0x3E,0xE9, 0x23,0x54,0xDC,0x68,0x64 ; First 8 bytes part of DES key
- ; DT 0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- BKEYCODE
- ADDWF PCL,F ; !!Program-Counter-Modification
- DT 0x34,0x2F ; Last 2 bytes of DES key
- ; DT 0x00,0x00
- DT 0x00,0x00,0x00,0x00,0x00,0x00
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- FILENAME
- ADDWF PCL,F ; !!Program-Counter-Modification
- DT "5BGB.BIN"
- ; DT "5ABC.BIN"
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- LADR_0x03EE
- ADDWF PCL,F ; !!Program-Counter-Modification
- RETLW 0x36 ; b'00110110' d'054' "6"
- RETLW 0x00 ; b'00000000' d'000'
- RETLW 0x00 ; b'00000000' d'000'
- RETLW 0x00 ; b'00000000' d'000'
- RETLW 0x00 ; b'00000000' d'000'
- RETLW 0x00 ; b'00000000' d'000'
- RETLW 0x00 ; b'00000000' d'000'
- RETLW 0x00 ; b'00000000' d'000'
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- NOP
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement